【独学PHP】条件分岐(ifなど)

※この記事は「2020年9月3日」に更新しました。

独学できる PHP講座。

今回は、条件分岐(ifなど)について。

前回は、演算子(オペレータ)について、解説しました。

【独学PHP】演算子(オペレータ)

【独学PHP】演算子(オペレータ)

2020年8月17日

if文は、制御文とも呼ばれており、プログラムで処理を分岐したいときに使います。

switch文に関しても後ほど説明していきます。

条件分岐

今までは、記述された順番にスクリプトを実行していく流れを学習しました。

しかし、スクリプトは先頭から順番に実行されるだけではありません。

条件分岐の構文を利用することで、ユーザーからの入力値などの条件に応じて、処理を分岐させることができます。



if文

if文は、与えられた条件式が TRUE であれば、実行すべき処理を記述できる制御文です。

if (条件式) {
    // 条件式が真のとき実行
}

if~else文

if~else文は、与えられた条件式が TRUE か FALSE かで実行すべき処理を分岐させることができる制御文です。

if (条件式) {
    // 条件式が TRUE のとき実行
} else {
    // 条件式が FALSE のとき実行
}

if~elseif文

if~elseif文を使えば、多岐分岐を表現することができます。

if (条件式1) {
    // 条件式1が TRUE のとき実行
} elseif (条件式2) {
    // 条件式2が TRUE のとき実行
} else {
    // 条件式1、2がいずれも FALSE のとき実行
}

elseif は、複数つなげることができます。

switch文

多岐分岐を表現するのに switch文を使う方法もあります。

switch (条件式) {
    case 値1 :
        // 条件式 = 値1 のとき実行
        break;
    case 値2 :
        // 条件式 = 値2 のとき実行
        break;
    case 値3 :
        // 条件式 = 値3 のとき実行
        break;
    default :
        // 条件式が値1、2、3のいずれでもないとき実行
        break;
}

この case も複数並べることができます。

サンプルプログラム

if文を理解するためのサンプルプログラムです。

<?php
$num = 10;

if ($num === 10) {
    print '$num は、10 です。';
} else {
    print '$num は、10 以外です。';
}

?>

実行結果は以下の通りです。

条件分岐(ifなど)

続いて、switch文を理解するためのサンプルプログラムです。

<?php
$rank = '優'

switch ($rank) {
    case '優' :
        print '大変よくできました。';
        break;
    case '良' :
        print 'よくできました。';
        break;
    case '可' :
        print 'できました。';
        break;
    case '不可' :
        print 'もう少しがんばりましょう。';
        break;
    default :
        print '評価されていません。';
        break;
}
?>

実行結果は以下の通りです。

条件分岐(ifなど)

どちらのサンプルプログラムも変数の値($num、$rank)を変化させると処理がわかりやすいかと思います。

最後に

いかがでしょうか。

今回は、条件分岐(if文など)について、解説しました。

違いを正しく理解して適切な構文が使えるように慣れていきましょう。