array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.next.php', 1 => 'next', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Функции для работы с массивами', ), 'prev' => array ( 0 => 'function.natsort.php', 1 => 'natsort', ), 'next' => array ( 0 => 'function.pos.php', 1 => 'pos', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/array/functions/next.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
next — Сдвигает внутренний указатель массива на одну позицию вперёд
Функция next() ведёт себя так же, как функция current(), с одним отличием. Она сдвигает внутренний указатель массива на одну позицию вперёд, прежде чем вернуть значение элемента. То есть она возвращает следующее значение массива и продвигает внутренний указатель массива на одну позицию.
Возвращает значение следующего элемента массива,
относительно позиции внутреннего указателя,
или false
, если больше нет элементов.
Функция
возвращает как логическое значение false
,
так и нелогическое значение, которое приводится к 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
.