繰り返し構文「foreach」 | phpのブログ

phpのブログ

独学PHPのメモとして使用しています

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にループしながら変換
ループは、取り込まれたインデックスの数だけ行われる