Php 如果总数未知,如何获得foreach的最后一次迭代
我想在Php 如果总数未知,如何获得foreach的最后一次迭代,php,arrays,foreach,Php,Arrays,Foreach,我想在foreach循环的最后一次迭代中回显一个变量,仅在循环内满足条件时计数 我意识到我可以在foreach语句之外echo$var,但我真的想在foreach语句中找到一种方法来实现这一点。这是一个粗略的例子,完全有道理,但我真正想做的是找出foreach语句中的最后一次迭代 以下是我尝试过的: $var = "end"; foreach ($options as $option => $icon) { if (strpos($check[0], $opt
foreach
循环的最后一次迭代中回显一个变量,仅在循环内满足条件时计数
我意识到我可以在foreach
语句之外echo$var
,但我真的想在foreach
语句中找到一种方法来实现这一点。这是一个粗略的例子,完全有道理,但我真正想做的是找出foreach
语句中的最后一次迭代
以下是我尝试过的:
$var = "end";
foreach ($options as $option => $icon) {
if (strpos($check[0], $option) !== false) {
echo $icon;
}
if (end($options)){
echo $var;
}
}
当$icon
存在时,我也尝试设置一个计数器,但由于总数未知,因此没有正常工作
如何执行此操作?如果数组不是空的,
end
将始终返回最后一个元素,而不管数组指针指向哪个元素
我看不出这样做的正当理由,但您可以查看是否没有next
元素foreach
将在每次迭代中推进数组指针,因此next
将尝试获取下一个指针,如果它位于最后一个元素上,它将失败:
$var = "end";
foreach ($options as $option => $icon) {
if (strpos($check[0], $option) !== false) {
echo $icon;
}
if (!next($options)){
echo $var;
}
}
放入
echo$var关闭foreach的}
之后的code>loop@RiggsFolly我明白了。我不应该用一个简单的例子来说明这是完全有道理的。但我真正想做的是找出如何计算foreach语句中的最后一次迭代。end($options)
只返回$options
数组的最后一个元素,即它将始终echo$var
(除非$options
数组为空,但在这种情况下整个foreach()
将不运行)。不确定要执行的操作的用例,但您可以使用array\u key\u last()
来实现您的目标-