制御構文 |
|
同じ処理を繰り返す「ループ処理」は単独で使用されたり、次で説明する条件分岐を併用して利用されたりします。 |
|
■繰り返し処理 |
では、ループを可能にする4つの制御構文を見ていきましょう。
|
・while構文 |
whileは繰り返しのコードを実行する前に条件式を設定し、その条件式が満たされればループを抜けます。 |
記述の仕方は |
while(式){
処理内容
} |
となります。具体的な使用例は、 |
例: |
<?php
$a = 0;
$lectur = "ループ処理";
while($a < 10) {
print($lectur);
$a++;
}
?> |
「ループ処理」が10個表示されます。 |
|
・for構文 |
基本的にはwhile構文と同じ繰り返し処理を行いますが、記述方法が異なります。 |
記述は |
for (初期値式; 条件式; 増減式) {
処理スクリプト
}
|
となります。 |
上のプログラムをfor文で書いてみましょう。 |
例: |
<?php
for($a=0;$a<10;$a++){
print "ループ処理";
}
?> |
while文と同じ結果が表示されます。 |
|
|
・do〜while構文 |
do〜while構文は処理を最初に行ってから条件式を記述する構文です。 |
do {
処理スクリプト
}
while(式);
|
この構文では条件は後にチェックされるので、最初に必ず一回は実行されます。
最初に一回処理したい場合に向いた制御構文です。 |
例: |
<?php
$a=0;
do{
print "ループ処理";
$a++;
}
while($a<10);
?>
|
上の2つと同じ結果が表示されます。 |
このスクリプトでは、最初に初期値となる変数を用意しそれをdo文で実行しています。その処理が終わったら |
while文で繰り返し条件の設定をしています。今回は繰り返し用変数$aが10以上になるまで繰り返します。 |
注意してほしいのは、この構文でwhile文(繰り返し条件)を設定していないと、無限ループに陥りパソコンに負荷がかかってしまうことです。その点に十分気をつけてください。 |
|
・foreach文 |
この構文は指定した配列の要素を1つづつ取り出します。配列の中身を1つ表示し次の要素へ、と |
繰り返していると考えると分かりやすいでしょう。記述方法は |
foreach (配列変数名 as 要素を格納する変数){
実行される処理
}
|
となります。具体的な記述をみてみましょう。
|
例: |
<?php
$hairetu = array(A,B,C);
//…@
foreach($hairetu as $data){ // …A
print $data."<br>"; //…B
}
?>
|
@でarray関数で配列を用意します。Aでその配列をforeach文で$dataに格納して$dataとして展開します。 |
Bで$dataを、改行付きで表示しています。 |
配列を理解していないと、分かりにくいのでつまづいた場合は前頁で復習しましょう。 |
|
・break
|
breakはループを抜け出したいときに使います。ループ中に定義した処理が成り立たなかったときなどに
|
使います。
|
例:
|
<?php
for($a=0;$a<10;$a++){
print "ループ処理";
if($a == 5){
print "ループ終了";
break;
}
}
?> |
上の例では$aが5になったらループを終了させています。
|
|
|
|