获取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;

}

如果您仍然对使用currentnext功能感兴趣,可以这样做:

$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

回到顶部