正しい?正しくない?
目次
- 解説
- 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('販売中です!');
}
}