(PHP 4, PHP 5, PHP 7, PHP 8)
current — Возвращает текущий элемент массива
У каждого массива есть внутренний указатель на «текущий» элемент, который инициализирует вставка первого элемента.
array
Массив.
Функция current() просто возвращает значение
элемента массива, на который указывает внутренний указатель.
Она не сдвигает указатель ни в каком направлении. Если
внутренний указатель указывает за пределы списка элементов или
массив пуст, функция current() возвращает false
.
Функция
возвращает как логическое значение false
,
так и нелогическое значение, которое приводится к 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
.
foreach