為什麼這篇foreach迴圈鄉民發文收入到精華區:因為在foreach迴圈這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者lazyhome (Hava A Nice Day)看板PHP標題Re: [請益] 迴圈取最後一...
※ 引述《chan15 (ChaN)》之銘言:
: 通常我跑 foreach 跑 array 的時候
: 如果要針對最後一筆資料做事情
: 會用一個 counter 先紀錄再比對
: 而且如果 index 不能拿來當作比對對象的話
: 可能還要另外用一個 counter 去紀錄
: 有辦法在 foreach 或 for 迴圈裡面直接知道這是最後一筆資料嗎?
: <?php
: $arr = array(
: 'name' => 'Chan',
: 'age' => 31,
: 'job' => 'rd');
: $counter = (count($arr)-1);
: $count = 0;
: foreach ($arr as $v) {
: echo $v;
: if ($count == $counter) echo ' (this is last)';
: echo '<br />';
: $count++;
: }
echo $v . "<br />";
: ?>
畫面結果
Chan
31
rd (this is last)
rd
實做了一下, foreach 迴圈結束後出來 $v 一定是最後一筆
在迴圈內處理最後一筆, 跟出來在處理最後一筆, 我想效果應該差不多
在迴圈內又不必增加判斷的語法, 只要處理迴圈裡的事情,
然後出來在對最後一筆做處理, 我想這樣比較簡單
另外只是單單要處理最一筆, 還不如用 end() 或 array_pop 直接處理比較快
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.124.80.67