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 円"; }