current

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

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

Описание

current(array|object $array): mixed

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

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

array

Массив.

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

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

Внимание

Эта функция может возвращать как логическое значение false, так и значение не типа boolean, которое приводится к false. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

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

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

Примеры

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

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