在PHP中使用foreach循环时查找数组的最后一个元素
我正在使用一些参数编写SQL查询创建器。 在Java中,通过使用数组长度检查当前数组的位置,可以很容易地从for循环内检测数组的最后一个元素。
for(int i=0; i< arr.length;i++){
boolean isLastElem = i== (arr.length -1) ? true : false;
}
在PHP中,它们具有非整数索引来访问数组。 所以你必须使用foreach循环迭代一个数组。 当你需要做出一些决定(在我的情况下追加或/和参数,同时构建查询)时,这会变得有问题。
我确信必须有一些标准的做法。
你如何在PHP中解决这个问题?
这听起来像你想要这样的东西:
$numItems = count($arr);
$i = 0;
foreach($arr as $key=>$value) {
if(++$i === $numItems) {
echo "last index!";
}
}
这就是说,你不用 - 要 - 在PHP中使用foreach
遍历一个“数组”。
您可以使用end(array_keys($array))
获取数组最后一个键的值,并将其与当前键进行比较:
$last_key = end(array_keys($array));
foreach ($array as $key => $value) {
if ($key == $last_key) {
// last element
} else {
// not last element
}
}
为什么这么复杂?
foreach($input as $key => $value) {
$ret .= "$value";
if (next($input)==true) $ret .= ",";
}
这将在除了最后一个值之外的每个值之后添加一个!
链接地址: http://www.djcxy.com/p/52989.html上一篇: Find the last element of an array while using a foreach loop in PHP