next

(PHP 4, PHP 5, PHP 7, PHP 8)

nextПеремещает указатель массива вперёд на один элемент

Описание

next(array|object &$array): mixed

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.

Смотрите также

  • current() - Возвращает текущий элемент массива
  • end() - Устанавливает внутренний указатель массива на его последний элемент
  • prev() - Передвигает внутренний указатель массива на одну позицию назад
  • reset() - Устанавливает внутренний указатель массива на его первый элемент
  • each() - Возвращает текущую пару ключ/значение из массива и смещает его указатель