【PHP】これだけ覚えれば大丈夫!構文4 – 条件分岐 –

PHP

更新履歴

更新日更新者更新内容
2021/8/15JJI・サンプルプログラムの実行結果に画面の画像を追加

はじめに

PHPの条件分岐で使用する構文には次の2種類があります。

  • if文
  • switch文

この記事では条文分岐の構文、サンプルプログラムを使って具体的に説明します。

if文

if文には次の3パターンがあります。
if文は非常によく使用する構文のため、使い方は必ず覚えるようにしてください。

if文

if文は次のようにif文のみ存在します。
条件式1がtrueの場合、式1を実行します。

if(条件式1) {
    式1
}

if-else if-else文

if-else if-else文は次のようにif文、else if文、else文が存在します。

if(条件式1) {
    式1
} else if(条件式2) {
    式2
} else {
    式3
}

この文は次のように判定します。

  • 条件式1がtrueの場合、式1を実行する
  • 条件式1がfalse、かつ条件式2がtrueの場合、式2を実行する
  • 条件式1、条件式2のどれも該当しない場合、式3を実行する
  • else if文は複数書くことも可能。
  • else文は書かなくてもよい。

if-else文

if-else文は次のようにif文、else文が存在します。
条件式1がtrueの場合、式1を実行、条件式がfalseの場合、式2を実行します。

if(条件式1) {
    式1
}else {
    式2
}

if文の入れ子

if文は次のように入れ子にすることもできる。
この場合、if文は外側から順に条件を判定していきます。

if(条件式1) {
    if(条件式2) {
        式1
    }
}

サンプルプログラム

if文について実際のサンプルを見た方が早いので、if文を使用したサンプルプログラムについて次に載せておきます。

<?php
    echo "PHPの構文4<br>\n";
    echo "if文<br>\n";

    $var1 = "山田太郎";
    $var2 = "山田太郎";

    // if文
    if($var1 == $var2) {
        echo "値が一致しています<br>\n";
    }

    // if-else文
    if($var1 != $var2) {
        echo "値が一致していません<br>\n";
    } else {
        echo "値が一致しています<br>\n";        
    }
    
    // if-else if-else文
    if($var1 == "山田次郎") {
        echo "山田次郎です<br>\n";
    } else if($var1 == "山田太郎"){
        echo "山田太郎です<br>\n";        
    } else {
        echo "知らない人です<br>\n";        
    }

    echo "<br>\n";
?>

実行結果は次の通りです。

・画面

・HTML

PHPの構文4<br>
if文<br>
値が一致しています<br>
値が一致しています<br>
山田太郎です<br>
<br>

switch文

switch文はif文より使用することは少ないです。
if-else ifの分岐が多い場合、switch文を使うことがあります。
よく構文を忘れることがありますが、switch文を使うときに構文を確認するぐらいで覚えなくても大丈夫です。


構文は次のように書きます。

switch(変数) {
    case 値1:
        式1;
        break;
    case 値2:
        式2;
        break;
    ・・・
    default:
        式;
        break;
}

構文の意味は次の通りです。

  • 変数は数値、文字列の両方とも使用可能です。
  • case文の判定条件に一致する場合、case文の中に書いた処理を実行します。
    case文は複数書くことは可能です。
  • break文に達するとswitch文の処理は終了します。
    break文を書かなくてもよいです。
    break文を書かない場合、次のようにcase文を複数行で書けます。
    case 値1:
    case 値2:
    case 値3:
      式1;
  • case文のいずれかにも該当しない場合の処理として、default文を書くことができます。
    default文は書かなくてもよいです。

switch文を使用したサンプルプログラム・実行結果は次の通りです。

<?php
    echo "PHPの構文4<br>\n";
    echo "switch文<br>\n";

    $var1 = "orange";
    output_fruits_name_jp($var1);

    $var2 = "apple";
    output_fruits_name_jp($var2);

    $var3 = "meat";
    output_fruits_name_jp($var3);

    function output_fruits_name_jp($var) {
        $name = "";

        switch ($var) {
            case 'orange':
                $name = "オレンジ";
                break;
            case 'apple':
                $name = "リンゴ";
                break;
            case 'banana':
                $name = "ばなな";
                break;    
            default:
                $name = "フルーツではありません";
                break;
        }
    
        echo "${var}:" . $name . "<br>\n";
    }

    echo "<br>\n";
?>

実行結果は次の通りです。

・画面

・HTML

PHPの構文4<br>
switch文<br>
orange:オレンジ<br>
apple:リンゴ<br>
meat:フルーツではありません<br>
<br>

最後に

この記事では、PHPプログラミングの基本としてif文、switch文について説明しました。
if文はプログラミングでよく使用するため、構文は覚えて使えるようにしてください。

コメント