PHP: foreach文
PHPで配列の要素の数だけループしたい場合は、 foreach文が使えます。
for文でループする場合はカウンタを使いますが、 foreach文ではカウンタを使わなくても配列の各要素を取得することができます。
書式
foreach (配列 as 変数){ 処理 }
foreach文では、配列の各要素が (配列 as 変数)で指定している変数に代入されます。
foreach文の具体的なコードは次の通りです。
$arr = [10, 20, 30]; foreach ($arr as $value) { echo $value . " \n"; } // 実行結果 10 20 30
インデックスも取得する場合
配列要素の値だけでなく、インデックス(添え字)も知りたい場合は 次のように記述します。
書式
foreach (配列 as インデックス用の変数 => 値用の変数){ 処理 }
例えば(配列 as $key => $value)と記述した場合、
$keyに各要素のインデックスが格納され、
$valueに各要素の値が格納されます。
インデックスを取得する方法は、
普通の配列よりも連想配列で使われます。
次のコードでは、連想配列の各要素のインデックス(キー)と値を 表示しています。
$arr = [10, 20, 30]; $season = array( "spring" => "春", "summer" => "夏", "autumn" => "秋", "winter" => "冬" ); foreach ($season as $key => $value) { echo $key . ": " . $value . " \n"; } // 実行結果 spring: 春 summer: 夏 autumn: 秋 winter: 冬