2014-12-26 87 views
0

我目前正處於學習階段。我沒有得到以下PHP代碼所需的輸出

這裏是我的代碼:

<?php 
    $food=array('Healthy'=> 
         array('Pasta'=>200,'Vegetables'=>300,'Salad'=>100), 

       'Unhealthy'=> 
         array('Pizza','Ice Cream')); 
    foreach($food as $element =>$inner_array) 
     echo '<strong>'.$element.'</strong> <br>'; 
     foreach($inner_array as $inner_element) 
     print_r ($inner_element.'<br>'); 
    ?> 

是我得到的輸出:

Healthy 
Unhealthy 
Pizza 
Ice Cream 

我希望它顯示與內部數組中的元素的數字。

回答

4

執行的foreach之後你缺少兩個foreach循環括號,沒有他們,只有第一行:

$food=array('Healthy'=> array('Pasta'=>200,'Vegetables'=>300,'Salad'=>100), 
      'Unhealthy'=> array('Pizza'=>0,'Ice Cream'=>1)); 

foreach($food as $element =>$inner_array) { 
    echo '<strong>'.$element.'</strong> <br>'; 
    foreach($inner_array as $inner_key => $inner_val) { 
     print_r ($inner_val.'<br>'); 
    } 
} 
+2

@ Nik0333:這就是爲什麼你總是應該*添加'{}'。雖然你*可以忽略它們,你會明白爲什麼它並不總是最好的主意。 –

0
<?php 
    $food=array('Healthy'=> 
          array('Pasta'=>200,'Vegetables'=>300,'Salad'=>100), 
       'Unhealthy'=> 
          array('Pizza'=>500,'Ice Cream'=>350));  //Changes made here 

    foreach($food as $element =>$inner_array) { 

     echo '<strong>'.$element.'</strong> <br>'; 

    foreach($inner_array as $inner_key => $inner_val) //Changes made here 

     print_r ("$inner_key => $inner_val <br>");  //Changes made here 

     } 
    ?> 

這給我所期待的輸出。