foreach
foreachの基本
配列の要素を全て合計してみます。
$data = array(5,8,3,6,9);
$sum = 0;
for($i=0;$i < count($data);++i){
$sum = $sum + $data[$i];
}
echo $sum;
$iのような添え字を使ったfor文を使って要素を$data[$i]で取得し、合計しています。
では、これをforeachで書いてみます。
$data = array(5,8,3,6,9);
$sum = 0;
foreach($data as $num){
$sum = $sum + $num;
}
echo $sum;
foreachの後に 配列 as 変数 と書きます。
こう書くことで配列の値が1つずつ変数に入ってきます。以下のfor文のような動きになるわけです。
for($i=0;$i < count($data);++i){
$num = $data[$i];
$sum = $sum + $num;
}
連想配列とforeach
以下のような連想配列があるとします。
$data =array('りんご'=>100,'みかん'=>150,'いちご'=>200);
この配列の要素を全て表示したい場合、通常のfor文ではキー(添え字)が数字では無いので出来ません。 代わりにforeachを使います。
foreach($data as $tanka){
echo $tanka;
}
このような書き方では配列の要素(中身)しか表示されません。
キーを表示するには以下のようにします。
foreach($data as $key=>$tanka){
echo "$key は $tanka 円";
}
PHP開発 虎の巻