current

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

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

Описание

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