current

(PHP 4, PHP 5, PHP 7)

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

Описание

current ( array|object $array ) : mixed

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

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

array

Массив.

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

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

Внимание

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

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

Версия Описание
7.0.0 Теперь параметр array всегда передается по значению. Раньше он по возможности передавался по ссылке.

Примеры

Пример #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() - Перемещает указатель массива вперед на один элемент