создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

PHP. Руководство по PHP. 2005

each

Пред.

След.

each

(PHP 3, PHP 4, PHP 5)each -- Возвратить текущую пару ключ/значение из массива и сместить его указатель

Описание

array each (array &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

";

}

?>

Результат выполнения данного примера:

a => apple

b => banana

c => cranberry

После выполнения each(), указатель массива перемещается к следующему его элементу, пока не будет достигнут конец массива. Вы можете использовать функцию reset() для повторного обхода массива при помощи each.

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

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

Пред.

Начало

След.

current

Уровень выше

end

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting