更新履歴
更新日 | 更新者 | 更新内容 |
---|---|---|
2021/8/1 | JJI | サンプルプログラムの実行結果に画面の画像を追加 |
論理値
論理値(boolean) はtrue、falseを取り扱う型です。
PHPでは次の値はfalseと判定されます。
- booleanのfalse
- integerの0
- floatの0.0、および-0.0
- 空の文字列、および文字列の”0″
- 要素数0である配列
- NULL(値が設定されていない変数を含む)
- 属性がない空要素から作成されたSimpleXMLオブジェクト
つまり、子要素も属性もない要素
上記以外の値はtrueと判定されます。
サンプルプログラム
データ型で返される論理値のサンプルプログラム・実行結果です。
<?php
echo "PHPの構文2<br>\n";
echo "データ型:論理値<br>\n";
printf("論理値:%s:%s %s:%s<br>\n", "false", get_boolean_value(false),"true", get_boolean_value(true));
printf("整数:%d:%s %d:%s<br>\n", 0, get_boolean_value(0), 1, get_boolean_value(1));
printf("小数:%.1f:%s %.1f:%s<br>\n", 0.0, get_boolean_value(0.0), 1.1, get_boolean_value(1.1));
printf("文字列1:%s:%s %s:%s<br>\n", "", get_boolean_value(""), "0", get_boolean_value("0"));
printf("文字列2:%s:%s<br>\n", "1", get_boolean_value("1"));
printf("配列:%s:%s %s:%s<br>\n", "array()", get_boolean_value(array()), "array(1)", get_boolean_value(array(1)));
echo "<br>\n";
/**
* 論理値文字列の返却処理
*
* @param [type] $val 任意の型
* @return trueの場合、"true"、falseの場合、"false"
*/
function get_boolean_value($val) {
if($val) {
return "true";
} else {
return "false";
}
}
?>
実行結果は次の通りです。
・画面

・HTML
PHPの構文2
データ型:論理値
論理値:false:false true:true
整数:0:false 1:true
小数:0.00:false 1.10:true
文字列1::false 0:false
文字列2:1:true
配列:array():false array(1):true
使用ルール
PHPの論理値はデータ型によってtrue、falseのどちらが返却されますが、わかりにくいため、このブログのように論理値を使用するルールとします。
論理値の使用のルール
- 判定で使用する場合、論理値のみ使用する。
論理値以外のデータ型は判定で使用しない。
参考
PHPで取り扱う論理値についてさらに詳しいことを知りたい方は次のPHPマニュアルを見てください。
PHP: 論理型 (boolean) - Manual
コメント