foreach文は配列に対して繰り返し処理を行う
foreach(配列 as $val)
foreach(配列 as $key => $val)
2つとも配列の値の数だけ処理を繰り返し行うが2つ目の構文は
連想配列に対して使用される
配列の値が$valに代入され配列のキーが$keyに代入される
for文などで配列の数だけループさせたいときはcount関数を使う
<?php
$baseball = array('鈴木'=>16, '松井'=>55, '清原'=>5);
foreach ($baseball as $key => $val){
print ($key." : ".$val."<br />");
}
?>
実行結果は
鈴木 : 16
松井 : 55
清原 : 5
となる
$keyによって設定されたキーワードと共に格納されるインデックスと
$valueに格納されるインデックスとグループ化する
<?php
$a = array("Apple" => "りんご", "Orange" => "みかん",
"Grape" => "ぶどう");
foreach( $a as $key => $value) {
print("$key は、$value<br>\n");
}
?>
実行結果は
Apple は、りんご
Orange は、みかん
Grape は、ぶどう
となる
変数$aに格納された配列は、キーワードが「=>」によって2つの値を対にしてそれぞれを取り込んでいる
foreach構文ではそのキーワードをもとにしてそれぞれの値を変数$key$valueにループしながら変換
ループは、取り込まれたインデックスの数だけ行われる