我有一个对象数组,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如果数组中有重复的元素,或者当有元素计算为相同的值时,会给出不希望的结果作为最后一个。 –