ループ処理(while文 for文 foreach文)

ループ処理には、while文 for文 foreach文 を使用します。なお、ループ処理とは一定の処理を繰り返し行なうことを意味しています。

while文

それでは、while文の例文を見てみましょう。

<?php
$i = 1;
while ($i < 5) {
	echo $i."回目のループです。<br />";
	$i++;
}
?>

◆実行結果
1回目のループです。
2回目のループです。
3回目のループです。
4回目のループです。

上記では、4回ループ処理がおこなわれました。なお、$i++ はインクリメントと言い、 ++ を用いて、変数の値 に 1 加える演算をおこなっています。

for文

for文は、ループ回数があらかじめ決まっているような時に使用します。それでは、例文を見ていきましょう。

<?php
for ($i = 1 ; $i < 5 ; $i++) {
	echo $i."回目のループです。<br />";
}
?>

◆実行結果
1回目のループです。
2回目のループです。
3回目のループです。
4回目のループです。

for文は、()の中にセミコロンで区切り 3つの条件を記載します。 1つ目の条件(上記では、$i = 1)に、最初に1度だけ実行する初期化処理を指定しています。 2つ目の条件(上記では、$i < 5)1に、TRUEの間は処理が繰り返されるよう、評価する処理を指定します。 3つ目の条件(上記では、$i++)に、毎回繰り返しの後に行われる処理をを指定します。

foreach文

foreach文は、配列の処理を行う際によく使用します。 foreach文では、配列のインデックスと値を別々に取り出すことが可能です。

<?php
//名前の配列
$name = array('たくや','しんや','たかし');

//名前の配列の値を表示する
foreach($name as $value) {
	echo $value."<br />";
}
?>

◆実行結果
たくや
しんや
たかし



<?php
//名前の配列
$name = array('たくや','しんや','たかし');

//名前の配列のキー(インデックス)と値を表示する
foreach($name as $key => $value) {
	echo $key." => ".$value."<br />";
}
?>

◆実行結果
0 => たくや
1 => しんや
2 => たかし

なお、foreach文では配列が定義されている場合のみループ処理が繰り返されます。未定義の場合は処理されないため、配列の値の取り出しによく使用されています。

ループ処理の中断/スキップ

ループ処理の中断( break )

ループ処理を途中で中断するには、breakを使用します。これは、while文 for文 foreach文 で共通して使用できます。

<?php
$str = array("test1","test2","test3");

$i = 0;
while (true) {
 if ( $i > 1 ) {
   break;
 }
 echo $str[$i].'<br />';
 $i++;
}
?>

◆実行結果
test1
test2

上記処理では、3回目のループ処理で break を実行しています。このため、test3 は出力していません。

ループ処理のスキップ( continue )

ループ処理をスキップするには、continue を使用します。これも break 同様に、while文 for文 foreach文 で共通して使用できます。

<?php
$str = array("test1","test2","test3");

$i = 0;
for ($i = 0;$i < count($str); $i++) {
 if ( $i == 1 ) {
   continue;
 }
 echo $str[$i].'<br />';
 $i++;
}
?>

◆実行結果
test1
test3

上記処理では、2回目のループ処理で continue を使用し、スキップしているため、test2 は出力していません。

このページの先頭へ