[PHP] 論理型 boolean



使い方

論理型を使うには、定数のTURE or FALSEを使います。
大文字・小文字のどちらでも使えるのでture or falseでも使うことができます。

どちらの書き方でもいいですが、どちらかに統一はしておきましょう。
プロジェクトにコーディングルールがある場合は、それに従います。

サンプル

大文字(TRUE or FALSE)の例

 1<?php
 2
 3$big_true = TRUE;
 4$big_false = FALSE;
 5
 6// TRUEの例
 7if ($big_true === TRUE)
 8{
 9    echo "big_true: TRUE", "\n";
10}
11if ($big_true)
12{
13    echo "big_true: TRUE", "\n";
14}
15
16// FALSEの例
17if ($big_false === FALSE) {
18    echo "big_false: FALSE", "\n";
19}
20if (!$big_false) {
21    echo "big_false: FALSE", "\n";
22}

小文字(true or false)の例

 1<?php
 2// 小文字のtrue / false
 3
 4// trueの例
 5$small_true = true;
 6$small_false = false;
 7if ($small_true === true)
 8{
 9    echo "small_true: TRUE", "\n";
10}
11if ($small_true)
12{
13    echo "small_true: TRUE", "\n";
14}
15
16// falseの例
17if ($small_false === false) {
18    echo "small_false: FALSE", "\n";
19}
20if (!$small_false) {
21    echo "small_false: FALSE", "\n";
22}

キャストについて

明示的にキャストを使う場合はboolbooleanを使います。

変換時の注意点

キャストで変換する時にFALSEに変換される値に注意します。

  • boolean の FALSE
  • integer の 0 (ゼロ)
  • float の 0.0 (ゼロ)
  • 空の文字列、 および文字列の “0”
  • 要素の数がゼロである 配列
  • 特別な値 NULL (値がセットされていない変数を含む)
  • 空のタグから作成された SimpleXML オブジェクト

  <a href="https://www.php.net/manual/ja/language.types.boolean.php" >PHP Manual 論理型(boolean)より引用</a>

サンプル

boolを使ったキャスト

 1<?php
 2
 3// (bool)のキャストの例
 4$bool_value = (bool) 1;
 5if ($bool_value === true)
 6{
 7    echo "bool_value is true", "\n";
 8}
 9
10$false_value = 0;
11$bool_value = (bool) 0;  // integerの0はfalseになる
12if ($bool_value === false)
13{
14    echo "bool_value is false", "\n";
15}

booleanを使ったキャスト

先程のboolを使ったサンプルと同じで、boolの部分がbooleanになっています。

 1<?php
 2
 3// (boolean)のキャストの例
 4$boolean_value = (boolean) 1;
 5if ($boolean_value === true)
 6{
 7    echo "boolean_value is true", "\n";
 8}
 9
10$boolean_value = (boolean) 0;  // integerの0はfalseになる
11if ($boolean_value === false)
12{
13    echo "boolean_value is false", "\n";
14}

参考

\ ちょっとお買い物 /


関連した記事