正しい?正しくない?

目次
  • 解説
  • 1. 正しい?正しくない?
  • 2. 論理値型:bool型
進捗を変更する




解説

1. 正しい?正しくない?


世の中には「正しい」とも「正しくない」とも言い切れないことがたくさんあります。また、何かを頼まれた時、「はい」と答えるか「いいえ」と答えるか迷うこともありますよね。

コンピューターの世界では、「正しい」「はい」ならば「1」「正しくない」「いいえ」ならば「0」というように、常に明確である必要があります。

「1」「0」では扱いにくいため、PHPでは「正しい=真」である状態を「true」、「正しくない=偽」である状態を「false」で表現します。これを論理値真偽値と呼びます。

例えば、映画のチケットを販売するシステムを作るとしたら、もし「販売済みチケット数と座席数が等しい」ならば、「売り切れ」と表示する処理が必要ですね。

この「もし~ならば」という文を条件文と言い、この条件文が正しいならばtrueである、正しくないならばfalseである、と言うことになります。

2. 論理値型:bool型


変数に「論理値」を代入して使う場合には、変数を「bool」型として宣言します。
値は true / false とし、クォーテーションなどでは括りません

    public static function practiceBool() {
        $boolValue = true;
        Logger::echo($boolValue); // 1
    }

PHPではtrueを出力すると「1」が、falseを出力すると「''(空文字)」が出力されます。

「bool」の語源は「George Booleさんが体系化した代数の」という形容詞「Boolean(ブーリアン)」であり、ブール型ブーリアン型論理値型真偽値型と呼びます。

boolは今後学習する条件分岐(if文)で真価を発揮します。簡単な使い方の例を見ておきましょう。

    static function practiceBool() {
        $boolValue = true;
        if ($boolValue) {
            // boolValueがtrueならばこのブロックを実行する
            Logger::echo('boolValue は true です!');
        } else {
            // boolValueがfalseならばこのブロックを実行する
            Logger::echo('boolValue は false です!');
        }
    }

また、trueやfalseをそのまま代入するということはあまり無く、通常は次のサンプルコードのように条件式条件文を比較式に置き換えたもの)の結果を使用します。

    public static function practiceBool() {
        $theatreSheetsCount = 120;
        $soldTicketsCount = 119;
        // 販売済みチケット数と座席数を「==」で比較する式の結果を代入
        $isSoldOut = ($soldTicketsCount == $theatreSheetsCount);
        if ($isSoldOut) {
            Logger::echo('売り切れです!');
        } else {
            Logger::echo('販売中です!');
        }
    }