PHPスクリプト/制御文

PHPスクリプト

dokuwiki.fl8.jp掲載済

制御文

if

  • 書式
    <?php
    if (式)
        文
    ?>
  • <?php
    if ($a > $b) {
        echo "aはbより大きい";
        $b = $a;
    } 
    ?>

else

elseは、if文における式の値が FALSEの場合にある文を 実行するようにif文を拡張します。

  • if ($a > $b) {
        echo "aはbよりも大きい";
    } else {
        echo "aはbよりも大きくない";
    } 

elseif

elseifは、その名前から分かるように、if とelseの組み合わせです。elseifは、 elseのように、元のif式の値が FALSEの場合に別の文を実行するようにif 文を拡張します。

  • if ($a > $b) {
        echo "aはbより大きい";
    } elseif ($a == $b) {
        echo "aはbと等しい";
    } else {
        echo "aはbより小さい";
    }

while

while文は、式の値がTRUEである間、 入れ子の文を繰り返し実行することをPHPに指示します。

  • 書式
    while (式) 
     文

    while (式): 
     文 
     ... 
    endwhile;
  • /* 例 1 */
    
    $i = 1;
    while ($i <= 10) {
        echo $i++;  /* 出力される値は、足される前の
                        $iの値です。
                        (後置加算) */
    }
    
    /* 例 2 */
    
    $i = 1;
    while ($i <= 10):
        echo $i;
        $i++;
    endwhile;

do-while

do-whileループは、論理式のチェックが各反復の 最初ではなく最後に行われること以外は、whileループと 全く同じです。

  • 書式
    do{
     文
    } while(式);
  • $i = 0;
    do {
        echo $i;
    } while ($i>0); 

for

最初の式(式1)は、ループ開始時に無条件に 評価(実行)されます。

各繰り返しの開始時に、式2が評価されます。 その式の値がTRUEが場合、ループは継続され、括弧 内の文が実行されます。値がFALSEの場合、ループの 実行は終了します。

各繰り返しの後、式3が評価(実行)されます。

  • 書式
    for (式1; 式2; 式3)
    文
  • 例1
    for ($i = 1; $i <= 10; $i++) {
        echo $i;
    }
  • 例2
    for ($i = 1;;$i++) {
        if ($i > 10) {
            break;
        }
        echo $i;
    }

foreach

Perlや他の言語とよく似た foreach構文があります。これにより 配列要素に関する反復処理が容易になります。

  • 書式
    foreach(array_expression as $value)
    文
  • <?php
    $arr = array("one", "two", "three");
    foreach ($arr as $value) {
        echo "Value: $value<br />\n";
    }
    ?>

switch

多重判別
break; がないと、順に下の case に流れる。

  • 書式
    switch(式){
      case 値1:
        文
        break;
      case 値2:
        文
        break
      default:
        文
    }
  • switch ($i) {
     case 0:
       echo "iは0に等しい";
       break;
    case 1:
       echo "iは1に等しい";
       break;
    case 2:
       echo "iは2に等しい";
       break;
    default:
       echo "iは0,1,2に等しくない";
    }