2015-11-04 140 views
0

我很難在這一個包裹我的頭。我有一個具有不同的鍵/值的數組,我想要做一個循環,允許我放入不同的代碼包裝。我正在處理一個我試圖以XML形式獲得的數組。PHP多維數組foreach回聲值

這是什麼,我有一個例子.. 我有什麼用代碼來註釋掉和我想要做的只是在它下面在foreach

// Multidimensional array 
$superheroes = array(
    "spider-man" => array(
     "name" => "Peter Parker", 
     "email" => "[email protected]", 
     ), 
    "super-man" => array(
     "name" => "Clark Kent", 
     "email" => "[email protected]", 
     ), 
    "iron-man" => array(
     "name" => "Harry Potter", 
     "email" => "[email protected]", 
     ) 
    ); 

// Printing all the keys and values one by one 
    $keys = array_keys($superheroes); 
    for($i = 0; $i < count($superheroes); $i++) { 
     echo $keys[$i] . "{<br>"; 
     foreach($superheroes[$keys[$i]] as $key => $value) { 
      // echo $key . " : " . $value . "------"; 
      echo '<wp:meta_key>'.$value['email'].'<wp:meta_key>'; 
      echo '<wp:meta_value><![CDATA['.$value['name'].']]></wp:meta_value>'; 
     } 
     echo "}<br>"; 
    } 
+0

可能重複此http://stackoverflow.com/a/1397164/1552594 –

回答

0

這是你如何遍歷該陣列,兩級深:

foreach($superheroes as $key => $hero) { 
    echo $key."\n"; 
    foreach ($hero as $heroKey => $heroValue) { 
     echo "\t".$heroKey."=>".$heroValue."\n"; 
    } 
} 

你將不得不調整它到你的輸出,但即時通訊顯示的概念。第一個foreach迭代所有英雄,第二個foreach迭代每個英雄的所有鍵/值對

編輯:堅持,它有點不清楚你實際上想要什麼。這是你想要的嗎?

foreach($superheroes as $key => $hero) { 
    echo $key."\n"; 
    echo "\t".$hero['email']."\n"; 
    echo "\t".$hero['name']."\n"; 
}