【PHP基礎③】条件分岐の書き方(if、else、elseif、&&、||)

PHP基礎

この記事ではWordpress制作で必修なPHPの条件分岐の書き方をご紹介いたします。

この記事の監修者

三谷 将大

1997年 愛知出身。
業界5年以上。実務経験後に独立し、30社以上のホームページ制作やマーケティング支援を行っている。

条件分岐とは?

条件分岐とは、「もし~であれば~を実行」というように、特定の条件に応じて異なる処理を行うことを指します。
PHPでは、条件分岐を使うことで、プログラムの流れを制御し、より柔軟な動作を実現できます。
例)
if, for, foreach, switch, while, do-while

条件分岐の使い方

if文

条件分岐の中でもよく使うif文からご紹介します。
書き方は以下の通りです。

<?php 
if (条件式) {
//条件式が真の時実行
}
?>

テストの点数を例として当てはめてみましょう。(.は文字の連結

<?php
$score= 94;

if($score> 94){
    echo "あなたは". $score. "点なので合格です。<br>";
}
//あなたは94点なので合格です。

if文では条件を満たしていれば、{}内の処理が実行されます。逆に、条件を満たしていなければ{}内の処理は実行されません。

条件式について

条件式には様々な形式がありますが、実務でよく使う条件式の比較演算子をご紹介します。

条件式意味具体例
A == BAとBが等しいとき$name == “Yamada”
($nameがYamadaのとき)
A != BAとBが等しくないとき$name != “Yamada”
($nameがYamadaではないとき)
A < BAよりBが大きいとき$score < 10
A > BAよりBが小さいとき$score >10
A <= BBがA以下のとき$score <= 10
A >= BBがA以上のとき$score >= 10
<?php
$score = 10;

if ($score == 10) {
echo "点数は10点です。";
}

if ($score != 5) {
echo "点数は5点ではありません。";
}
?>

elseの使い方

else文は、if文の条件が満たされなかった場合に実行される処理を記述します。

<?php
$score = 10;

if ($score == 5) {
    echo "点数は5点です。";
} else {
    echo "点数は5点ではありません。";
}
?>

elseifの使い方

elseif文は、複数の条件を順に評価するために使います。
以下のようにelseifを使うことで、1つの条件が満たされなかった場合でも、別の条件が満たされていれば実行する処理を指定します。

<?php
$score = 10;

if ($score == 5) {
    echo "点数は5点です。";
} elseif ($score == 10) {
    echo "点数は10点です。";
} else {
    echo "点数は5点でも10点でもありません。";
}
?>

if、else、elseif文の別の書き方

PHPでは、if文、else文、elseif文を別の形式で記述することも可能です。以下は、三項演算子を使った例です。

//三項演算子
//if else文
//条件 ? 真 : 偽

$score = 96 ;
$result = $score> 90 ? "合格です。" : "不合格です。";

echo $result;

また、WordPress制作では以下のようにHTMLコードに埋め込んで使用することが多くあります。

<?php if (条件) : ?>
    条件を満たすときに出力するHTML
<?php else : ?>
    条件を満たしていないときに出力するHTML
<?php endif; ?>

Switch文

if文を書き換えでswitch文を書くことができます。
下記がswitch文の書き方です。

switch(変数){
    case "" :
        //実行内容
        break;
    case "" :
        //実行内容
        break;
    case "" :
        //実行内容
        break;
    default:   //else
    //実行  
}

&&の使い方

&&(AND演算子)は、複数の条件がすべて真である場合にのみ真となります。

<?php
$score1 = 10;
$score2 = 20;

if ($score1 == 10 && $score2 == 20) {
echo "点数1は10で、点数2は20です。";
}
?>

||の使い方

||(OR演算子)は、複数の条件のうち、少なくとも1つが真である場合に真となります。

<?php
$score1 = 10;
$score2 = 15;

if ($score1 == 10 || $score2 == 20) {
echo "点数1は10か、点数2は20です。";
}
?>

!の使い方

!(NOT演算子)は、条件が真でない場合に真となります。

<?php
$score= 10;

if (!($score== 5)) {
    echo "点数は5ではありません。";
}
?>
タイトルとURLをコピーしました