[PHP] 論理型 boolean



使い方

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

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

サンプル

大文字(TRUE or FALSE)の例

<?php

$big_true = TRUE;
$big_false = FALSE;

// TRUEの例
if ($big_true === TRUE)
{
    echo "big_true: TRUE", "\n";
}
if ($big_true)
{
    echo "big_true: TRUE", "\n";
}

// FALSEの例
if ($big_false === FALSE) {
    echo "big_false: FALSE", "\n";
}
if (!$big_false) {
    echo "big_false: FALSE", "\n";
}

小文字(true or false)の例

<?php
// 小文字のtrue / false

// trueの例
$small_true = true;
$small_false = false;
if ($small_true === true)
{
    echo "small_true: TRUE", "\n";
}
if ($small_true)
{
    echo "small_true: TRUE", "\n";
}

// falseの例
if ($small_false === false) {
    echo "small_false: FALSE", "\n";
}
if (!$small_false) {
    echo "small_false: FALSE", "\n";
}

キャストについて

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

変換時の注意点

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

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

サンプル

boolを使ったキャスト

<?php

// (bool)のキャストの例
$bool_value = (bool) 1;
if ($bool_value === true)
{
    echo "bool_value is true", "\n";
}

$false_value = 0;
$bool_value = (bool) 0;  // integerの0はfalseになる
if ($bool_value === false)
{
    echo "bool_value is false", "\n";
}

booleanを使ったキャスト

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

<?php

// (boolean)のキャストの例
$boolean_value = (boolean) 1;
if ($boolean_value === true)
{
    echo "boolean_value is true", "\n";
}

$boolean_value = (boolean) 0;  // integerの0はfalseになる
if ($boolean_value === false)
{
    echo "boolean_value is false", "\n";
}

参考



関連した記事