PHP if文のサンプル

PHPのif文のサンプルです。

目次

if文

if (条件式1){
  条件式1を満たした時に実行される処理
} elseif (条件式2) {
  条件式2を満たした時に実行される処理
} else {
  どの条件式も満たさなかった時に実行される処理
}

コード

サンプルのコードです。
7行目のelseifの条件式を満たすので1が表示されます。
11行目のように、else if文の中にif文を記述することができます。入れ子の構造です。

<?php
$num = 2;

if ($num == 0) {
    echo "0";

} elseif ($num == 1) {
    echo "1"; //1が表示される

} elseif ($num == 2) {
	if($num == 2) {
		echo "2"; //
	}

} else {
    echo "その他";
}
?>

if文の別の記述方法

上記のif文のコードとは別の記述方法があります。
HTMLに記述する時などに使われます。

3行目は、if (条件式):とコロン:がついています。
12行目は、最後の箇所にendif;があります。

<?php
$num = 1;
if ($num == 0): ?>
0が入力されました

<?php elseif ($num == 1): ?>
1が入力されました

<?php else: ?>
その他が入力されました

<?php endif; ?>

比較演算子

上記コードの==は比較演算子です。
以下は、PHPの比較演算子の一覧です。

比較演算子 説明
a == b aとbの値は等しい
a === b aとbの値は等しい かつ 型も等しい
a != b aとbの値は等しくない
a <> b aとbの値は等しくない
a !== b aとbの値は等しくない または 型が等しくない
a > b aはbより大きい
a >= b aはbより大きい または 等しい
a < b aはbより小さい
a <= b aはbより小さい または 等しい

論理演算子の論理積(&&)

  • if文で論理積(&&)を使用する場合、論理積(&&)の左の式と右の式の両方が条件に合致する場合にtrueになります。
  • 論理積の左の式がfalseの場合、右の式は評価されません。これを短絡評価(ショートサーキット評価 : Short-Circuit Evaluation)といいます。
  • 以下はPHPのマニュアルの論理演算子のリンクです。
    http://php.net/manual/ja/language.operators.logical.php

コード

4行目は、偶数かつ10より小さい場合にtrueになります。
→OKが表示されます。

<?php
$num = 6;

if ($num % 2 == 0 && $num < 10){
    echo "OK"; //OKが表示される

} else {
    echo "NG";
}
?>

論理演算子の論理和(||)

  • if文で論理和(||)を使用する場合、論理和(||)の左の式または右の式のどちらかが条件に合致する場合にtrueになります。
  • 論理和の左の式がtrueの場合、右の式は評価されません。これを短絡評価(ショートサーキット評価 : Short-Circuit Evaluation)といいます。
  • 以下はPHPのマニュアルの論理演算子のリンクです。
    http://php.net/manual/ja/language.operators.logical.php

コード

4行目は、偶数または10より小さい場合にtrueになります。
→OKが表示されます。

<?php
$num = 9;

if ($num % 2 == 0 || $num < 10){
    echo "OK"; //OKが表示される

} else {
    echo "NG";
}
?>

論理演算子の否定(!)

  • !aとした場合、aがfalseの場合にtrueになり、aがtrueの場合にfalseになります。

コード

4行目はnumと1の比較でfalseになり、それを!で否定して条件式はtrueになります。
8行目はnumと9の比較でtrueになり、それを!で否定して条件式はfalseになります。

<?php
$num = 9;

if (!($num == 1)) {
    echo "test1"; //test1が表示される
}

if (!($num == 9)) {
    echo "test2";
} else {
    echo "test3"; //test3が表示される
}
?>

関連の記事

PHP while文とdo…while文のサンプルのサンプル
PHP 配列の値をループで取得するサンプル(foreach文)
PHP 関数のサンプル
PHP エスケープシーケンスのサンプル



△上に戻る