(PHP 4, PHP 5, PHP 7, PHP 8)
next — Перемещает указатель массива вперёд на один элемент
next() ведёт себя подобно current(), но с одним отличием. Перед тем, как вернуть значение элемента массива, функция передвигает его внутренний указатель на одну позицию вперёд. Другими словами, она возвращает следующий элемент массива и сдвигает его внутренний указатель на одну позицию.
array
Массив (array), изменяемый данной функцией.
Возвращает значение элемента массива, находящегося на позиции, следующей
за позицией внутренний указателя или false
, если достигнут конец массива.
Эта функция может возвращать как логическое значение false
, так и значение не типа boolean, которое приводится к false
. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.
Версия | Описание |
---|---|
8.1.0 | Вызов функции в объекте (object) объявлен устаревшим. Либо сначала преобразуйте объект (object) в массив (array) с помощью функции get_mangled_object_vars(), либо используйте методы, предоставляемые классом, реализующим интерфейс Iterator, например, ArrayIterator. |
7.4.0 | Экземпляры классов SPL теперь обрабатываются как пустые объекты, не имеющие свойств, вместо вызова метода Iterator с тем же именем, что и эта функция. |
Пример #1 Пример использования next() и связанных функций
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport); // $mode = 'bike';
$mode = next($transport); // $mode = 'car';
$mode = prev($transport); // $mode = 'bike';
$mode = end($transport); // $mode = 'plane';
?>
Замечание: Конец массива не отличим от элемента массива типа bool со значением
false
. Для корректного обхода массива, который может содержатьfalse
, используйте функциюforeach
. Если же вы хотите использовать функцию next() и при этом корректно отслеживать конец массива, проверяйте, что функция key() возвращаетnull
.