2012-01-05 124 views
0

我如何檢查數組鍵等於值有一個這樣的數組:PHP如何檢查數組鍵是否等於某個值?

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"; 
} 
+1

您試圖訪問的內容不是數組鍵,而是對象屬性。所以首先告訴我們你真正想要達到的目標? – redmoon7777 2012-01-05 04:17:59

回答

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 
} 

我不認爲這就是你真正想要做雖然,一些更多的信息將是有益的。

0

好像你正在使用fetch_object()。這給你一些對象。如果你想使用數組,使用fetch_assoc() 要使用array_key_exists,你需要循環結果,因爲它是多維數組。

相關問題