获取foreach循环中的下一个元素
我有一个foreach循环,我想看看循环中是否存在下一个元素,以便可以将当前元素与下一个元素进行比较。我怎样才能做到这一点?我已经阅读了有关当前和下一个功能的信息,但我不知道如何使用它们。
提前致谢
回答:
一种独特的方法是反转阵列 然后 循环。这同样适用于非数字索引数组:
$items = array( 'one' => 'two',
'two' => 'two',
'three' => 'three'
);
$backwards = array_reverse($items);
$last_item = NULL;
foreach ($backwards as $current_item) {
if ($last_item === $current_item) {
// they match
}
$last_item = $current_item;
}
如果您仍然对使用current
和next
功能感兴趣,可以这样做:
$items = array('two', 'two', 'three');$length = count($items);
for($i = 0; $i < $length - 1; ++$i) {
if (current($items) === next($items)) {
// they match
}
}
#2可能是最好的解决方案。注意,$i < $length -
1;比较数组中的最后两项后,将停止循环。我将其放在循环中,以使示例更加明确。你可能应该算一下$length = count($items) - 1;
以上是 获取foreach循环中的下一个元素 的全部内容, 来源链接: utcz.com/qa/434349.html