【PHP】条件分岐「論理値 – True, False」について【入門】

【PHP】条件分岐「論理値 – True, False」について【入門】

PHPの全目次

条件分岐の目次

論理値

if文では、条件式の結果が真(True)か偽(False)かで処理する内容を振り分けています。条件式には例えば「x == 10」のように比較演算子を使った条件を記述しますが、条件が正しかった場合には「x == 10」という式そのものが真(True)という値を持ち条件が正しくなかった場合は「x == 10」という式そのものが偽(False)という値を持ちます

このように比較演算子は評価した結果として真(True)か偽(False)のいずれかの値を返します。この2つの値が論理値です。論理値はデータ型の1つでTrueまたはFalseのいずれかです。
※大文字、小文字は区別しませんのでTRUEやtrueまたはTrueでも構いません)。

論理値の値は TRUE 又は FALSE

比較演算子のように結果として論理値を返すものもありますが、変数などに明示的に論理値を代入することもできます。

$flag = TRUE;

if文は条件式の箇所の値が真(True)か偽(False)かで処理を振り分けていますので次のように記述することもできます。

$flag = TRUE;

if ($flag){
// 条件式が真の時に実行する処理
}

上記の場合は変数「flag」の値がTRUEならばif文のブロック内の処理を実行します。

またif文の条件式のように論理値の値が記述されるべきところに他のデータ型の値が記述された場合、自動的に論理値に型変換が行われて評価されます。型変換が行われてFALSEとなる値は次の通りです。

FALSE
整数の0と浮動小数点数の0.0
空文字””
文字列の”0″
要素の数が0の配列
NULL
メンバ変数の数がゼロであるオブジェクト

上記以外の値は全てTRUEに変換されます。例えば数値の15や文字列の「Hello」などはTRUEに変換されます。

$num = 8;

if ($num){
// 条件式が真の時に実行する処理
}

上記では変数「num」には数値の8が格納されていますので条件式はTRUEとなります。

サンプルコード

▼Example-branch2-1.php

<!DOCTYPE html>
<html lang=“ja”>
<head>
<meta http-equiv=“Content-Type” content=“text/html;charset=UTF-8” />
<title>PHPテスト</title>
</head>
<body>

<p>PHPのテストです。</p>

<p>
<?php
if (TRUE){
print ‘条件式にTRUEが記述されているので常に実行されます’;
}
?>
</p>

</body>
</html>

上記のファイルをテストサーバーのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。

コメントを残す