微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 在foreach中,isLastItem()存在吗?

使用常规for循环,可以将当前索引与最后一个一起进行comapred,以判断我是否在循环的最后一次迭代中.使用foreach时是否有类似的事情?我的意思是这样的.

foreach($array as $item){
  //do stuff
  //then check if we're in the last iteration of the loop
  $last_iteration = islast(); //boolean true/false
}

如果没有,至少有一种方法可以知道当前迭代的当前索引,如$iteration = 5,那么我可以手动将它与$array的长度进行比较吗?

解决方法:

您可以使用SPLArrayIteratorCachingIterator class的组合来获得hasNext method

$iter = new CachingIterator(new ArrayIterator($arr));
foreach ($iter as $value) {
    $last_iteration = !$iter->hasNext();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐