如何检查数组键是否等于具有如下数组的值:
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] => ) )
我尝试过使用此代码:
if(array_key_exists('subCategory',$array) {
echo "Exists";
}
答案 0 :(得分:4)
因为你有一个标准对象数组而无法工作...即使存在的唯一数组键也是整数。所以问题是你想要检测什么?如果要检查对象是否具有subCategory
属性,可以执行isset($obj->subCategory)
。如果要确保数组中的每个对象都具有该属性,则需要循环:
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
}
我不认为那是你真正想做的事情,更多的信息会有所帮助。
答案 1 :(得分:0)
好像你正在使用fetch_object()。这为您提供了一系列对象。如果要使用数组,请使用fetch_assoc() 要使用array_key_exists,您需要循环结果,因为它是多维数组。