2011-03-24 66 views
0

我能夠訪問和的第一和最後一個記錄的輸出像這樣郵編項的完整數組列表(此工作正常):CakePHP的呼應陣列輸出的foreach()迭代

...(這是在foreach內的foreach)

foreach ($plan_edit['Zip'] as $zip) : 
    echo $zip['title'] . "<br />"; 
endforeach; ... 

返回:

Array 
(
    [0] => Array 
     (
      [id] => 110 
      [state_id] => 1 
      [title] => 97701 
      [PlansZip] => Array 
       (
        [id] => 83698 
        [plan_id] => 443 
        [zip_id] => 110 
       ) 

     ) 

    [1] 

我想只得到第一個和最後一個值(每個陣列的每個主記錄中設置的[「標題」])的。

我一直在搞phps數組當前()和結束()功能,但我只能得到「數組 」打印出來的那些。

我知道我做錯了什麼,但有點失去方向在這一點上。

歡迎對我的工作/方法提出任何建設性的批評。

這是我在哪裏,在目前:

<?php 

foreach ($plan_edit['Zip'] as $zip) : 
    echo current($zip['title']) . "<br />"; 
    endforeach; 

foreach ($plan_edit['Zip'] as $zip) : 
    echo end($zip['title']) . "<br />"; 
    endforeach; 

    ?> 
+0

什麼是搞亂我的思維過程起來是我嘗試各種方式來做到這一點:<?php foreach($ plan_edit ['Zip'] as $ key => $ value): echo max($ value)。 「
」; endforeach; ?> - 但是$ value輸出是「Array」而不是實際值。 – OldWest 2011-03-24 23:03:53

回答

3
$first = reset($plan_edit['Zip']); 
$last = end($plan_edit['Zip']); 
echo $first['title']; 
echo $last['title']; 

如果數組是數字索引,你也可以這樣做:

echo $plan_edit['Zip'][0]['title']; 
echo $plan_edit['Zip'][count($plan_edit['Zip']) - 1]['title']; 
+0

你的第二個建議解決了這個問題。我試圖用第一個建議解決問題,但數組是數字。乾杯。 – OldWest 2011-03-25 04:54:28