Jak sprawdzić, czy klucz tablicy jest równy wartości z tablicą podobną do tej:
Array ( [0] => stdClass Object ( [subCategory] => All Headphones [description] => [image] => ) [1] => stdClass Object ( [subCategory] => Behind-the-Neck Headphones [description] => [image] => ) [2] => stdClass Object ( [subCategory] => Clip-On Headphones [description] => [image] => ) [3] => stdClass Object ( [subCategory] => Earbud Headphones [description] => [image] => ) [4] => stdClass Object ( [subCategory] => Kids" Headphones [description] => [image] => ) )
Próbowałem użyć tego kodu:
if(array_key_exists("subCategory",$array) {
echo "Exists";
}
Odpowiedzi:
4 dla odpowiedzi № 1To nie zadziała, ponieważ masz szeregstandardowe obiekty ... jedynymi obecnymi kluczami tablicy są liczby całkowite. Pytanie brzmi: co próbujesz wykryć? Jeśli chcesz sprawdzić, czy obiekt ma subCategory
własność, którą możesz zrobić isset($obj->subCategory)
. Jeśli chcesz się upewnić, że każdy obiekt w tablicy ma tę właściwość, musisz zapętlić:
function hasSubCategory($array){
foreach($array as $element) {
if(!isset($element->subCategory)){
return false; // if any object doesnt have the property
}
}
return true; // if all objects have the property
}
Nie sądzę, że to jest to, co naprawdę chcesz zrobić, przydatne byłyby dodatkowe informacje.
0 dla odpowiedzi nr 2
Wygląda na to, że używasz fetch_object (). Daje to tablicę obiektów. Jeśli chcesz pracować z tablicami, użyj fetch_assoc () Aby użyć array_key_exists, musisz zapętlić wynik, ponieważ jest to tablica wielowymiarowa.