二重のfor文
条件分岐や繰り返しは何重にもすることが出来ます。例えば、forを二重にするのなら「forの繰り返し」をさらに「forで繰り返す」というようにします。
書式
for (初期値; 繰り返しの条件; 変化1){
繰り返し実行する処理
for(初期値; 繰り返しの条件;変化2){
繰り返し実行する処理
}
}
<?php
print"<table>";
for($r =16; $r <=250; $r +=10){
print"<tr>";
for($g =16; $g <=250; $g +=10){
$rh = dechex($r);
$gh = dechex($g);
print"<td bgcolor = #{$rh}{$gh}ff>色</td>";
}
print"</tr>";
}
print"</table>";
?>
実行結果
繰り返しを「抜ける」「とばす」
繰り返し処理をしている最中に、処理を中断する方法が二つあります。
●break
forやforeach,while,do~whileなど繰り返し処理を行っているとき、breakの命令を実行すると処理を抜けることができます。例えば、次を実行すると1から10までの整数を書き出します。
<?php
for($i = 1;$i <=10; $i++){
print "$i"."<br>";
}
?>
ここに次のようにbreakを入れます。
<?php
for($i = 1;$i <=10; $i++){
print "$i"."<br>";
if($i == 5)break;
}
?>
すると、$iが5になったところで繰り返しを抜けて、全体の処理が終了します。
・continue
繰り返し処理を終了することなく、指定した処理だけを「とばす」(スキップする)のがcontinueです。
例えば、次は1から10までの数値を、5だけ「とばして」書き出すPHPスクリプトです。
「if($i==5)continue」のところで、$iが5のときだけはcontinueで次の行の「print"$i"."<br>"」を実行しません。
<?php
for($i = 1;$i <=10; $i++){
if($i == 5)continue;
print"$i"."<br>";
}
?>
実行結果