/ / PHP Jak sprawdzić, czy klucz tablicy jest równy określonej wartości? - php

PHP Jak sprawdzić, czy klucz tablicy jest równy określonej wartości? - php

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 № 1

To 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.