在 PHP 中使用 foreach 循环时查找数组的最后一个元素

问题描述

听起来你想要这样的东西:

$numItems = count($arr);
$i = 0;
foreach($arr as $key=>$value) {
  if(++$i === $numItems) {
    echo "last index!";
  }
}

话虽如此,您不必 - 必须 -foreachPHP 中使用“数组”进行迭代。

解决方法

我正在使用一些参数编写 SQL 查询创建器。在 Java 中,只需检查当前数组位置和数组长度,就可以很容易地从 for 循环中检测到数组的最后一个元素。

for(int i=0; i< arr.length;i++){
     boolean isLastElem = i== (arr.length -1) ? true : false;        
}

在 PHP 中,它们具有访问数组的非整数索引。因此,您必须使用 foreach
循环遍历数组。当您需要做出一些决定(在我的情况下,在构建查询时附加或/和参数)时,这会成为问题。

我确信必须有一些标准的方法来做到这一点。

你如何在 PHP 中解决这个问题?