PHP - 确定foreach中最后一个循环的有效方法

时间:2016-06-08 09:07:32

标签: php loops foreach

每当我必须确定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变量,然后增加它并检查值。我只是想知道是否存在一个更简单的解决方案,让我的生活更轻松一点。 :)

2 个答案:

答案 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!';
   }
}