Sep
17
2010
each()

Пример 2. Обход массива функцией each()

each

(PHP 3, PHP 4, PHP 5)

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

Описание

array each ( array &array )

Возвращает текущую пару ключ/значение из массива array и смещает его указатель. Эта пара возвращается в виде массива из четырёх элементов, со следующими ключами: 0, 1, key и value. Элементы 0 и key содержат ключ элемента массива, а элементы 1 и value содержат его значение.

Если внутренний указатель массива указывает на его конец, each() возвратит FALSE.


<?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() для обхода массива, как в этом примере:

<?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().

 
 
 
Комментарии
Добавить новый Поиск
Оставить комментарий
Имя:
Email:
 
Веб-сайт:
Тема:
UBB-Код:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Пожалуйста, введите проверочный код, который Вы видите на картинке.
Powered by !JoomlaComment 3.26

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Кто онлайн

Сейчас 6 гостей онлайн