(PHP 4, PHP 5)
each — Връща текущата двойка ключ/стойност на масива и премества указателя му
Връща текущата двойка ключ/стойност на масива и премества указателя му.
След изпълнението на each(), курсорът на масива ще се премести на следващия елемент на масива или ще остане на последния елемент ако е достигнат края на масива. Ако искате да обходите масива с each отново, трябва да използвате reset().
Входният масив.
Връща текущата двойка ключ/стойност на масива 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\n";
}
?>
Примерът по-горе ще изведе:
a => apple b => banana c => cranberry
Тъй като присвояването на масив на друга променлива премества вътрешния му указател на първия елемент, примерът по-горе ще предизвика зацикляне, ако присвоим $fruit на друга променлива в тялото на цикъла.
each() приема и обекти, но това може да доведе до неочаквани резултати, затова не се препоръчва да извършването на итереции със свойства на обекти.