foreach文は配列のすべての要素に対して反復処理を行うときに使うと便利な構文です。
foreach文を使って配列を処理する
foreach文は2種類の構文があり書式は以下のとおりです。
1 2 3 |
foreach ( 配列 as 変数 ){ 繰り返される処理 } |
1 2 3 |
foreach ( 配列 as キー変数 => 変数 ){ 繰り返される処理 } |
foreach文では先頭から各ループごとに配列内の要素が変数に代入されていきます。そして配列の要素数の数だけ繰り返されたら処理が終了します。
具体例を見ていきましょう。
1 2 3 4 5 6 |
<?php $store_array = array( 'A店', 'B店', 'C店' ); foreach ( $store_array as $store ) { echo $store . "\n"; } ?> |
上のプログラムの実行結果は以下のようになります。
1 2 3 |
A店 B店 C店 |
このプログラムでは$store_arrayという配列の要素の数だけループ内の処理が行われました。foreach文を使えば先頭からasの後に定義した変数に要素の値が自動的に代入されループ内で使用することができます。
foreach文を使ってキー値を取得し処理をする
次はキー値も取得して配列を処理をする例です。
1 2 3 4 5 6 |
<?php $store_array = array( '東京' => 'A店', '神奈川' => 'B店', '千葉' => 'C店' ); foreach ( $store_array as $key => $store ) { echo "$key : $value\n"; } ?> |
このプログラムの実行結果は以下のようになります。
1 2 3 |
東京 : A店 神奈川 : B店 千葉 : C店 |
foreach文を使うことでキー値や要素を取得したり、配列のポインタやインデックスをインクリメントしていく必要がないので、for文やwhile文より簡潔に記述することができます。