每当我必须确定foreach循环中的当前循环是否是最后一个循环时,我会使用以下内容:
<?php
$i = count($myArray);
foreach ($myArray as $item) {
/** code goes here... */
$i--;
if ($i == 0) {
/** something happens here */
}
}
?>
通常,通过了解循环变量(first,last,...),可以非常轻松地在模板系统(如Latte,Smarty等)中完成。我的问题是:PHP中是否有类似的功能?
关键是你必须创建$i
变量,然后增加它并检查值。我只是想知道是否存在一个更简单的解决方案,让我的生活更轻松一点。 :)
答案 0 :(得分:3)
在foreach
中使用此功能检查项目是否为最后一项。
if ($item === end($myArray)) {
// Last item
}
检查项目是否是第一项
if ($item === reset($myArray)) {
// First item
}
答案 1 :(得分:1)
通过检查是否找到最后一项($ item === end($ myArray)){}
foreach($myArray as $key => $item) {
echo $item."<br />";
end($myArray);
if ($key === key($myArray)) {
echo 'LAST ELEMENT!';
}
}