PHPの勉強5 ループ

最終更新:2006/06/16

トップページへ戻る
前へ 次へ
ページ目次
  1. for文
  2. while文
  3. do-while文
  4. ループを制御する(break文, continue文)


1. for文

    指定した回数だけ処理を繰り返す場合に用います。

    文法の説明

        for (初期状態; 終了条件; 継続処理) {
            処理;
        }
<html>
<head>
<title>SAMPLE013</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
    for($i = 1; $i <= 10; $i++) {
        for($j = 1; $j <= $i; $j++) {
            print "△";
        }
        print "<br>";
    }
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample013の実行結果
<html>
<head>
<title>SAMPLE014</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
    for($i = 10; $i >= 0; $i--) {
        for($j = 1;$j <= $i; $j++) {
            print "△";
        }
        print "<br>";
    }
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample014の実行結果
<html>
<head>
<title>SAMPLE015</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
        $keisan = 0;
        for ($i = 1; $i <= 9; $i++) {
            for ($j = 1;$j <= 9; $j++) {
                $keisan = $i * $j;
                if(1 >= $keisan || $keisan <= 9) {
                    print "  " . $keisan;
                } else {
                    print " " . $keisan;
                }
            }
            print "<br>";
        }
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample015の実行結果


2. while文


    ある条件が真である間、ループを繰り返します。

    文法の説明

    while (条件式) {
        処理;
    }
<html>
<head>
<title>SAMPLE016</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
    $i = 1;
    $j = 1;
    while ($i <= 10) {
        $j = 1;
        while ($j <= $i) {
            print "△";
            $j++;
        }
        print "<br>";
        $i++;
    }
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample016の実行結果
<html>
<head>
<title>SAMPLE017</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
    $i = 10;
    $j = 1;
    while ($i >= 0) {
        $j = 1;
        while ($j <= $i) {
            print "△" ;
            $j++;
        }
        print "<br>";
        $i--;
    }
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample017の実行結果
<html>
<head>
<title>SAMPLE018</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
    $i = 1;
    $j = 1;
    $keisan = 0;
    while ($i <= 9) {
        $j = 1;
        while ($j <= 9) {
            $keisan = $i * $j;
            if (1 >= $keisan || $keisan <= 9) {
                print "  " . $keisan;
            } else {
                print " " . $keisan;
            }
            $j++;
        }
        print "<br>";
        $i++;
    }
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample018の実行結果


3. do-while文

    do-while文は条件式の評価がループの最後に行われる為、最初の1回が必ず実行されます。

    文法の説明

    do {
        処理;
    } while (条件式);
<html>
<head>
<title>SAMPLE019</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
    $i = 1;
    $j = 1;
    do {
        $j = 1;
        do {
            print "△";
            $j++;
        } while ($j <= $i);
        print "<br>";
        $i++;
    } while ($i <= 10);
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample019の実行結果
<html>
<head>
<title>SAMPLE020</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
    $i = 10;
    $j = 1;
    do {
        $j = 1;
        do {
            print "△";
            $j++;
        } while ($j <= $i);
        print "<br>";
        $i--;
    }  while ($i > 0);
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample020の実行結果
<html>
<head>
<title>SAMPLE021</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
    $i = 1;
    $j = 1;
    $keisan = 0;
    do {
        $j = 1;
        do {
            $keisan = $i * $j;
            if (1 >= $keisan || $keisan <= 9) {
                print "  " . $keisan;
            } else {
                print " " . $keisan;
            }
            $j++;
        } while ($j <= 9);
        print "<br>";
        $i++;
    } while ($i <= 9);
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample021の実行結果


ループを制御する(break文, continue文)

    break文が実行されると、ループが終了していなくてもループから抜けます。
    continue文が実行されると、いったんループの先頭に戻ります。
<html>
<head>
<title>SAMPLE022</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
    $i = 0;
    $j = 0;
    for($j = 1; $j <= 10; $j++) {
        for($i = 1; $j <= 10; $i++) {
            print $i . " ";
            if($i == $j) {
                print "<br>";
                break;
            }
        }
    }
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample022の実行結果
<html>
<head>
<title>SAMPLE023</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<?php
    $i = 0;
    for($i = 1; $i <= 10; $i++) {
        if($i % 2 == 0) {
            continue;
        } else {
            print $i . " ";
        }
    }
?>
</body>
</html>
       ※ファイル保存時の文字コードは「EUC-JP」にしてください。
       sample023の実行結果
トップページへ戻る
前へ 次へ
Copyright© 2005- Naoyuki Sano. All rights reserved.