HOME   入り口   MENU


No15.こっちでもぐるぐる回そう! ---- while文




whileも繰り返し処理をするときに使います。
while(A){//処理}
while($i<=10){//処理}
という例だったら
のA式は
A:ループの開始時条件(例:$i<=10 -- $iが10以下かどうかチェック)

Aの条件がTrueのときwhileの中をぐるぐる回ります(^_^)

<?php
$i=0;
while($i<10){
    echo "あ";
    $i++;
}
?>

実行するとecho表示する値は
ああああああああああ

となります。

こんな風にすると!
<?php
$i=1;
while($i<=10){
    echo $i++;
}
?>


12345678910

となります。(^_^)

forは中の式を省略したら永久ループだったかれどwhileは?
while(A)A式がTrueの間は永遠にループを抜けません。
なので
<?php
$i=0;
while(1){
    echo $i++;
    if ($i>=10){break;}
}
?>

のように条件が満たされたらbreak;してループを抜ける必要があります。
forもそうですが永久ループはWEBサーバに負荷がかかるので注意しましょうね。(^_^)




サンプル: こう書くと   ==>    こうなる!

while文を使った足し算



(オマケ)
while文も波カッコ({)を使わなくても記述できます。
上のサンプルを波カッコなしで書くと

$i=0;
while($i<10):
    echo "あ";
    $i++;
endwhile;

endwhile;を忘れずに!!
-------------------------------------------------------
whileforなどループ処理が2重以上あるとき
continueを使って処理をスキップしてループを抜けることができます。
$i=0;
while(1){
    echo $i++;
    while(1){
        if ($i>20){break 2;}
        echo $i;
        continue 2;
    }
}
この処理を実行すると
1234567891011121314151617181920
となります。
breakcontinueの後ろの数字はループの階層です。
(どの階層のループを抜けるか、あるいはどの階層のループへスキップするか)











  HOME