2013-12-16 55 views
0

我在PHP的項對象,它具有上的var_dump以下結構:接入多維陣列對象中PHP

$item->properties: 

array (size=1) 
    1 => 
    array (size=4) 
     'Key1' => string 'Value1' (length=6) 
     'Key2' => int 1 
     'Key3' => string 'true' (length=4) 
     'Key4' => string 'true' (length=4) 

我想在foreach循環訪問鍵,值和分配密鑰,值對到一些內部變量,但是當我使用下面的代碼來循環pver陣列數組時,我在以我想要的方式訪問值時出錯。這是我在做什麼:

 foreach($item->properties as $property) { 
      foreach($property as $value) { 
       echo $value; 
      } 
     } 

任何人都有一個想法我做錯了什麼,我該如何解決這個問題?

+0

'我在獲取值時出錯' - 什麼是錯誤? –

+0

「警告:爲foreach()提供了無效的參數....」 – CodeMonkey

+0

它只是表示參數不是數組。無論如何,你爲什麼需要嵌套的foreach? 'foreach($ item-> property作爲$ property){echo $ key。' :'。$ value; }' - 這不行嗎? –

回答

1

你提供給foreach的東西中的一個不是一個有效的參數,正如錯誤所述。找出它是哪個(linenumber)和var_dump參數來查看它是什麼類型(可能「不是數組」)。

最後要麼是$item->properties本身,要麼是該數組的數組值(如果是1),那麼$property不是數組。

它可能是,例如,也許屬性的第一個鍵是一個數組,但第二個不是?那麼你可以使用is_array來檢查。