each - Возвращает текущую пару ключ/значение из массива и смещает его указатель
Вернуться к: Функции для работы с массивами
each
(PHP 4, PHP 5, PHP 7)
each — Возвращает текущую пару ключ/значение из массива и смещает его указатель
Описание
&$array
)Возвращает текущую пару ключ/значение из массива и смещает его указатель.
После выполнения each(), указатель массива перемещается к следующему его элементу, пока не будет достигнут конец массива. Для повторного обхода массива при помощи each необходимо использовать функцию reset().
Список параметров
-
array
-
Входной массив.
Возвращаемые значения
Возвращает текущую пару ключ/значение из массива
array
. Данная пара возвращается в
массива из четырех элементов, с ключами 0,
1, key и value.
Элементы 0 и key содержат
имя ключа элемента массива, а 1 и value
содержат его данные.
Если внутренний указатель массива указывает за его пределы,
each() возвратит FALSE
.
Примеры
Пример #1 Примеры использования each()
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
$bar теперь содержит следующие пары ключ/значение:
Array ( [1] => bob [value] => bob [0] => 0 [key] => 0 )
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
$bar теперь содержит следующие пары ключ/значение:
Array ( [1] => Bob [value] => Bob [0] => Robert [key] => Robert )
each() обычно используется совместно с list() для обхода массива, как в этом примере:
Пример #2 Обход массива функцией each()
<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
?>
Результат выполнения данного примера:
a => apple b => banana c => cranberry
Поскольку добавление элемента в массив сбрасывает указатель, вышеприведённый пример может привести бесконечному циклу, если мы будем присваивать $fruit другие значения внутри цикла.
Функция each() также принимает и объекты, но может возвратить неожиданные результаты, поэтому итерировать свойства объекта с помощью each() не рекомендуется.
Смотрите также
- key() - Выбирает ключ из массива
- list() - Присваивает переменным из списка значения подобно массиву
- current() - Возвращает текущий элемент массива
- reset() - Устанавливает внутренний указатель массива на его первый элемент
- next() - Передвигает внутренний указатель массива на одну позицию вперёд
- prev() - Передвигает внутренний указатель массива на одну позицию назад
- foreach
- Итерация объектов
Вернуться к: Функции для работы с массивами