2015-01-05 35 views
0

我已經在數組中循環了數百次,但今天我必須瘋了,因爲我得到了不想要的結果。無法在foreach中檢索數組密鑰

我已經保存在我的$數據變量的所有信息,其中的print_r顯示以下

Array 
(
[side_orders] => Array 
    (
     [white_rice] => Array 
      (
       [price] => Array 
        (
         [0] => 0.50 
        ) 
      ) 
    ) 

[soup] => Array 
    (
     [wonton_soup] => Array 
      (
       [price] => Array 
        (
         [0] => (pt)2.00 
         [1] => (qt)3.75 
        ) 
      ) 
    ) 

[steamed_dishes] => Array 
    (
     [vegetarian] => Array 
      (
       [info] => snow_peas 
       [price] => Array 
        (
         [0] => 4.95 
        ) 
      ) 
    ) 

    ) 

我想顯示「side_orders,湯,steamed_dishes」

所以我然後使用以下進行測試。

   foreach($data as $dat) 
      { 
       echo key($data); 
      } 

它返回 'side_ordersside_ordersside_orders'

任何想法,我做錯了什麼?

+3

你正在做'作爲$ dat'然後做'echo key($ dat);'而不是'$ data'。 –

+1

或者只是做'foreach($ data as $ key => $ dat)' –

+0

@JohnConde OP正在他們的途中......我要去啦啦啦。再見!我會讓你接管;-) –

回答

0
<?php 
$array=array(
"side_orders" => 
array("white_rice" => 
array("price" => array("0" => "0.50")) 
), 
"soup" => 
array("wonton_soup" => 
array("price" => array("0" => "(pt)2.00", "1" => "(qt)3.75"))) 
); 
///// Display Array ///// 
print_r($array); 
//////////////////////// 
$side_orders_price_0 = $array['side_orders']['white_rice']['price']['0']; 
$soup_price_0 = $array['soup']['wonton_soup']['price']['0']; 
$soup_price_1 = $array['soup']['wonton_soup']['price']['1']; 

echo '</br>(side_orders -> white_rice -> price -> 0) = '.$side_orders_price_0.' </br>'; 
echo '(soup -> wonton_soup -> price -> 0) = '.$soup_price_0.' </br>'; 
echo '(soup -> wonton_soup -> price -> 1) = '.$soup_price_1.' </br>'; 
?>