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