each()

PHPのeach()関数は、配列から、内部ポインタが現在指している配列要素のキーと値を取得し、内部ポインタを次にひとつ進める組み込み関数。

each()は、list()と共に使うことが多い。

定義

配列型 each( 配列型 &$array );

パラメータ

配列型 &$array

対象の配列を指定。

戻り値

内部ポインタが現在指している配列要素のキーと値を格納した配列。

戻り値の配列には、「1、value、0、key」がキーの4つの配列要素がある。「1」と「value」がキーの配列要素には、対象の配列「配列型 &$array」の「値」を格納。「0」と「key」がキーの配列要素には、対象の配列「配列型 &$array」の「キー」を格納。

次の配列要素がない場合、「FALSE」を返す。

構文

現在の配列要素のキーと値を取得し、内部ポインタを次に進める

配列 = each( 配列 );

配列から、内部ポインタが現在指している配列要素のキーと値を取得し、内部ポインタを次にひとつ進める。

現在の配列要素のキーと値を変数に格納し、内部ポインタを次に進める

list()と共に使う方法。

list( $key, $val ) = each( 配列 )

「配列」から、内部ポインタが現在指している配列要素のキーと値を取り出し、キーを変数「$key」に、値を変数「$val」に格納。内部ポインタを次にひとつ進める。

すべての配列要素のキーと値を、順番に取得

while文list()と共に使う方法。

while( list( $key, $val ) = each( 配列 ) ){
    // 処理文
}

「配列」から、順番に配列要素のキーと値を取り出し、キーを変数「$key」に、値を変数「$val」に格納。

サンプル

配列から、現在の配列要素のキーと値を取得し、内部ポインタを次に進める

<pre>
<?php
$varArray = array( "レッド", "ブルー" , "イエロー" );
$varEach = each( $varArray );
print_r( $varEach );
$varEach = each( $varArray );
print_r( $varEach );
?>
</pre>

↓↓↓出力結果↓↓↓

Array
(
    [1] => レッド
    [value] => レッド
    [0] => 0
    [key] => 0
)
Array
(
    [1] => ブルー
    [value] => ブルー
    [0] => 1
    [key] => 1
)

連想配列から、現在の配列要素のキーと値を取得し、内部ポインタを次に進める

<pre>
<?php
$varArray = array(
    "red" => "レッド",
    "blue" => "ブルー",
    "yellow" => "イエロー"
);
$varEach = each( $varArray );
print_r( $varEach );
$varEach = each( $varArray );
print_r( $varEach );
?>
</pre>

↓↓↓出力結果↓↓↓

Array
(
    [1] => レッド
    [value] => レッド
    [0] => red
    [key] => red
)
Array
(
    [1] => ブルー
    [value] => ブルー
    [0] => blue
    [key] => blue
)

多次元配列から、現在の配列要素のキーと値を取得し、内部ポインタを次に進める

<pre>
<?php
$varArray = array(
    "english" => array( "red", "blue", "yellow" ),
    "kanji" => array(
        "aka" => "赤",
        "ao" => "青",
        "ki" => "黄"
    ),
    "katakana" => array( "レッド", "ブルー", "イエロー" )
);
$varEach = each( $varArray );
print_r( $varEach );
$varEach = each( $varArray );
print_r( $varEach );
?>
</pre>

↓↓↓出力結果↓↓↓

Array
(
    [1] => Array
        (
            [0] => red
            [1] => blue
            [2] => yellow
        )

    [value] => Array
        (
            [0] => red
            [1] => blue
            [2] => yellow
        )

    [0] => english
    [key] => english
)
Array
(
    [1] => Array
        (
            [aka] => 赤
            [ao] => 青
            [ki] => 黄
        )

    [value] => Array
        (
            [aka] => 赤
            [ao] => 青
            [ki] => 黄
        )

    [0] => kanji
    [key] => kanji
)

連想配列のキーと値を順番に取得

each()は、list()と共に使うことが多い。

<?php
$var = array(
    "red" => "レッド",
    "blue" => "ブルー",
    "yellow" => "イエロー"
);
while( list( $key, $val ) = each( $var ) ){
    echo "$key => $val<br />";
}
?>

↓↓↓出力結果↓↓↓

red => レッド
blue => ブルー
yellow => イエロー

スポンサード リンク

カテゴリー: PHP, キー, , 内部ポインタ, 組み込み関数, 配列 タグ: パーマリンク