我有一個對象數組,PHP中的任何數組。 我如何跳過foreach迭代中的最後一個元素?PHP:如何跳過foreach循環中的最後一個元素
回答
使用一個變量來跟蹤多少元素到目前爲止迭代,並切斷迴路,當它到達終點:
$count = count($array);
foreach ($array as $key => $val) {
if (--$count <= 0) {
break;
}
echo "$key = $val\n";
}
如果你不關心的內存,你可以遍歷數組的縮短副本:
foreach (array_slice($array, 0, count($array) - 1) as $key => $val) {
echo "$key = $val\n";
}
我不知道爲什麼它覺得它是一個壞的問題,但這當然是我問的。我想遍歷所有內容,但是排除數組中的最後一個元素..謝謝 – muffin
@muffin問題是爲什麼最後一個元素應該排除在第一位......如果這個值有特殊的含義,不要在那裏。 –
$count = count($array);
$i=0;
foreach ($arr as &$value)
{
$i++;
if($i==($count-1))
{
echo 'skip';
}
else
{
echo $value;
}
}
如果鍵是字符串,則不起作用。 –
@jack okk比我編輯我的答案.. :) –
乾脆這樣做:for($ i = 0; $ i <$ count-1; $ i ++) –
你所要做的將會挫敗foreach循環的目的。它意味着循環遍及整個陣列並使我們的工作變得輕鬆。
例如:您可以使用COUNT在PHP函數獲取數組的大小,然後可以使用循環並設置限制ARRAYSIZE-2,所以最後陣列將被省略
如果你不」不想刪除與流行音樂的最後一個數組項,你可以跳過像這樣
$array = array('v1','v2','v3',...)
$counter = 1;
foreach($array as $value)
{
//do your thing in loop
if($counter == count($array)) continue; // this will skip to next iteration if last element encountered.
$counter++;
}
有多種方法可以做到這一點。
如果陣列是按順序零索引數組,你可以這樣做:
for($i = 0, $ilen = count($array) - 1; $i < $ilen; $i++)
{
$value = $array[ $i ];
/* do something with $value */
}
如果陣列是一個關聯數組,或以其他方式不按順序零索引,你可以這樣做:
$i = 0;
$ilen = count($array);
foreach($array as $key => $value)
{
if(++$i == $ilen) break;
/* do something with $value */
}
這也是一個很好的答案..upvote謝謝:) – muffin
@muffin不客氣。正如你從其他答案中看到的那樣,有很多方法可以實現你的目標。 –
- 1. for each跳過循環中的最後一個元素
- 2. PHP的foreach循環只返回最後一個元素?
- 3. 跳過循環的元素
- 4. 如何跳過`for`循環中的第一個元素?
- 5. PHP循環通過一個FOREACH循環
- 6. CodeIgniter中的最後一個循環foreach
- 7. for循環的最後一個元素
- 8. Foreach循環中List <>中的第一個或最後一個元素
- 9. Laravel 4 foreach循環 - 想要顯示最後一個元素
- 10. foreach循環只返回最後一個元素
- 11. Java:對於每個循環都跳過收集的最後一個元素
- 12. 如何在Laravel的foreach循環中跳過第一個項目?
- 13. 如何跳過foreach循環的值?
- 14. 的Python跳過最後一個元素,而使用迭代循環的列表
- 15. ForEach中的最後一個元素
- 16. Python - 再循環最後一個元素
- 17. PHP foreach循環跳過前3項
- 18. PHP數組foreach循環跳過
- 19. PHP的foreach循環用一個單一的元素
- 20. PHP foreach循環只輸出mysql表中的最後一個值
- 21. 跳過「for each」循環中的第一個元素?
- 22. 跳過foreach循環同一日期
- 23. PHP的多層次foreach循環從循環中刪除最後一個逗號
- 24. 如何選擇for循環的最後一個元素?
- 25. 的foreach改變最後一個元素
- 26. 如何跳出C#中的foreach循環?
- 27. 從PHP foreach循環中剝離最後一個逗號
- 28. 在foreach循環中設置$ _SESSION變量只需要最後一個元素
- 29. PHP foreach循環元素索引
- 30. PHP - 如何限制一個foreach循環?
'if $ element == end($ myarray)break' – sashkello
在foreach之前使用array_pop() – PravinS
@sashkello如果數組中有重複的元素,或者當有元素計算爲相同的值時,會給出不希望的結果作爲最後一個。 –