前回の記事で書いたcurrent()と似たものでeach()があります。
each()では、キーと値の組み合わせたうえで、現在位置を1つ進めます。
$配列名2 = each($配列名1)
each()は、配列名1の配列からキーと組合せを1つ取り出して、
配列名2に格納します。
each()は、繰り返し文と組み合わせると便利です。
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="../style.css"> </head> <body> <?php $price = array( "りんご" => 100, "なし" => 50, "ぶどう" => 140, "みかん" => 90, "スイカ" => 110, ); while( list($name, $value) = each($price) ){ echo "{$name}:{$value}円" . "<br>"; } ?> </body> </html> |
サンプルコードで使用しているlist()は、
変数1、変数2・・・に配列の値をまとめて格納する指定で
下記のように使います。
list($変数1,$変数2・・・) = $配列名
サンプルコードだと、each()で配列から1つのキーと値の組合せを取り出して、
これを2つの変数にまとめて格納しています。これを配列の要素が
終るまで、繰り返しています。each()で取り出すと要素の現在位置をが1つ
進むので、このような取り出しができます。