Сдвигает внутренний указатель массива на одну позицию назад

# prev

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

prev — Сдвигает внутренний указатель массива на одну позицию назад

### Описание

function prev(array|object `&$array`): mixed

Функция продвигает внутренний указатель массива на одну позицию назад.

Функция prev() ведёт себя аналогично функции next(), за исключением того, что эта функция отматывает внутренний указатель массива на одну позицию, а не продвигает его.

### Список параметров

`array`

  Входной массив.

### Возвращаемые значения

Возвращает значение предыдущего элемента массива, относительно позиции внутреннего указателя, или `false`, если больше нет элементов.

Внимание

Функция возвращает как логическое значение `false`, так и нелогическое значение, которое приводится к `false`. Прочитайте раздел «Логический тип», чтобы получить дополнительную информацию. Используйте оператор === для проверки значения, которое возвращает функция.

### Список изменений

Версия | Описание
--- | ---
8.1.0 | Вызов функции на значении с типом object устарел. Объект (object) либо сначала преобразовывают в массив (array) функцией get_mangled_object_vars(), либо пользуются методами класса наподобие ArrayIterator, в котором реализовали интерфейс Iterator.
7.4.0 | Экземпляры классов библиотеки SPL теперь вместо вызова метода интерфейса Iterator, название которого аналогично названию этой функции, обрабатываются как пустые объекты без свойств.

### Примеры

Пример #1 Пример продвижения внутреннего указателя массива функцией prev() с вызовом дружественных функций

    <?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`. Чтобы отличить, нужно проверить, что возвращаемый функцией key() ключ предыдущего элемента, как его определяет функция prev(), не равен значению `null`.

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

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open