(PHP 4, PHP 5)
each — Возвратить текущую пару ключ/значение из массива и сместить его указатель
Возвращает текущую пару ключ/значение из массива array и смещает его указатель. Эта пара возвращается в виде массива из четырёх элементов, со следующими ключами: 0, 1, key и value. Элементы 0 и key содержат ключ элемента массива, а элементы 1 и value содержат его значение.
Если внутренний указатель массива указывает на его конец, each() возвратит FALSE.
Example#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() для обхода массива, как в этом примере:
Example#2 Обход массива функцией each()
<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val
";
}
?>
Результат выполнения данного примера:
a => apple
b => banana
c => cranberry
После выполнения each(), указатель массива перемещается к следующему его элементу, пока не будет достигнут конец массива. Вы можете использовать функцию reset() для повторного обхода массива при помощи each.
Посколько добавление элемента в массив сбрасывает указатель, вышеприведённый пример может привести бесконечному циклу, если мы будем присваивать $fruit другие значения внутри цикла.
См. также key(), list(), current(), reset(), next(), prev() и foreach.