[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";
}
キャストについて
明示的にキャストを使う場合はboolかbooleanを使います。
変換時の注意点
キャストで変換する時に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";
}