Массивы
PHP Manual

each

(PHP 4, PHP 5)

each — Возвратить текущую пару ключ/значение из массива и сместить его указатель

Описание

array each ( array &$array )

Возвращает текущую пару ключ/значение из массива 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.

Caution

Посколько добавление элемента в массив сбрасывает указатель, вышеприведённый пример может привести бесконечному циклу, если мы будем присваивать $fruit другие значения внутри цикла.

См. также key(), list(), current(), reset(), next(), prev() и foreach.


Массивы
PHP Manual