Я перебираю массив, используя foreach.
В конкретной ситуации мне нужно знать значение следующего элемента до того, как итерация вернется к этому элементу (например, предсказанию). Для этого я планирую использовать функцию next () .
В документации я только заметил, что next () продвигает указатель внутреннего массива вперед.
next () ведет себя как current (), с одной разницей. Он возвращает указатель внутреннего массива на одно место перед возвратом значения элемента. Это означает, что он возвращает значение следующего массива и продвигает указатель внутреннего массива на единицу.
Если это так повлияет на мой цикл foreach?
Это не повлияет на ваш цикл, если вы используете его таким образом
<?php $lists = range('a', 'f'); foreach($lists as &$value) { $next = current($lists); echo 'value: ' . $value . "\n" . 'next: ' . $next . "\n\n"; }
ВЫВОД
value: a next: b
значение: b следующее: c
значение: c next: d
value: d next: e
значение: e next: f
значение: f следующее:
Попробуйте этот код:
$a=$array(); foreach($a as $key=>$var) { if(isset($a[$key+1])) echo $a[$key+1];//next element }