2017-08-04 29 views
2

的一部分,我有一個多陣列這樣PHP展示多陣列

$data = [ 
    array ( 
     "foo" => "lalala", 
     "moo" => [ 
      array ("x" => "1", "x" => "100"), 
      array ("x" => "2", "x" => "200"), 
     ] 
    ), 

    array (
     "foo2" => "foo2" 
    ) 
] 

我怎麼可以參考它與PHP「的名字」?

現在我做它[0] - 拿到「第一」陣列:

$result = $data[0]['moo'] ; 

但我的「名字」,所以像這樣瓦納參考吧:

$result = $data->moo ; 

是什麼給了那麼我只是moo的數組部分?

+0

只能在您嘗試執行時按名稱引用對象。您可以遍歷每個數組並將它們轉換爲對象,然後您可以使用屬性進行引用。 – Matthew

+0

基本上是用於具有子導航元素的導航。你會建議用對象而不是數組來做這件事嗎?基本上我不會真正得到對象和數組之間的區別。我會閱讀有關它。我認爲必須有一些簡單的方法,沒有任何循環或重組。 – scco

+0

Json_encode,然後是json_decode。你會得到這個對象。 – Vladislav

回答

2

你在尋找類似的東西嗎?

$data = Array(
    (object) Array(
     "foo" => "sad" 
    ), 
    (object) Array(
     "foo" => "sadsas" 
    ) 
); 

foreach ($data as $key => $row) { 
    if(isset($row->foo)) 
     echo $row->foo.'<br>'; 
}