Возвращает текущий элемент массива

# current

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

current — Возвращает текущий элемент массива

### Описание

function current(array|object `$array`): mixed

Каждый массив содержит внутренний указатель на «текущий» элемент. Указатель инициализируется при вставке первого элемента.

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

`array`

  Массив.

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

Функция current() только возвращает значение элемента массива, на который указывает внутренний указатель. Функция не сдвигает указатель ни в каком направлении. Функция current() возвращает значение `false`, если внутренний указатель указывает за пределы списка элементов или массив пуст.

Внимание

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

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

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

### Примеры

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

    <?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 = current($transport), PHP_EOL; // $mode = 'bike';
    echo $mode = prev($transport), PHP_EOL;    // $mode = 'foot';
    echo $mode = end($transport), PHP_EOL;     // $mode = 'plane';
    echo $mode = current($transport), PHP_EOL; // $mode = 'plane';

    $arr = array();
    var_dump(current($arr)); // bool(false)

    $arr = array(array());
    var_dump(current($arr)); // array(0) { }

    ?>

### Примечания

> Замечание: Результаты вызова функции current() на пустом массиве, массиве со сдвинутым за пределы элементов внутренним указателем и массиве с указателем на элементе с логическим (bool) значением `false` — неотличимы. Правильно обойти массив с элементами `false` помогает управляющая конструкция `foreach`. Правильную проверку того, что значение относится к элементам массива, функцией current() выполняют так: получают функцией key() ключ текущего элемента, как элемент определяет текущим функция current(), и проверяют ключ на строгое неравенство значению `null`.

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

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

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