each

(PHP 3, PHP 4, PHP 5)

each --  配列から、次のキーと値のペアを返す

説明

array each ( array &array )

配列arrayから、次のキーと値のペアを返し、 配列カーソルを進めます。このペアは、4つの要素を持つ配列で、 それぞれの要素は0,1, key,valueというキーを有 しています。要素 0key の各々は配列要素のキー名称を保持しており、1valueの各々はそのデータを保持しています。

配列の内部ポインタが、配列の最終要素以降を指す場合、 each()FALSEを返します。

例 1. each()の例

<?php
$foo
= array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
?>

$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\n";
}
?>

上の例の出力は以下となります。

a => apple
b => banana
c => cranberry

*/
?>

each()を実行した後、配列カーソルは、 配列の次の要素に移動します。配列の最終要素にカーソルがある場合は、 最終要素にとどまります。再度eachを使用して配列を走査するには、 reset()を使用する必要があります。

注意

Because assigning an array to another variable resets the original arrays pointer, our example above would cause an endless loop had we assigned $fruit to another variable inside the loop.

key(), list(), current(), reset(), next(), prev(), foreach も参照してください。