ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## Boolean 布尔类型(标量) 这是最简单的类型。boolean表达了真值,可以为TRUE或者FALSE。 **语法** 要指定一个布尔值,使用 常量TRUE或者FALSE。两个都不区分大小写。 ``` <?php $foo = True; // 设置$foo 为 TRUE ?> ``` 通常[运算符](http://php.net/manual/zh/language.operators.php)所返回的 [boolean](http://php.net/manual/zh/language.types.boolean.php) 值结果会被传递给[控制流程](http://php.net/manual/zh/language.control-structures.php)。 ``` <?php // == 是一个操作符,它检测两个变量是否相等,并返回一个布尔值 if ($action == "show_version") {     echo "The version is 1.23"; } // 这样做是不必要的... if ($show_separators == TRUE) {     echo "<hr>\n"; } // ...因为可以使用下面这种简单的方式: if ($show_separators) {     echo "<hr>\n"; } ?> ``` ### 转换为布尔值 要明确地将一个值转换成 [boolean](http://php.net/manual/zh/language.types.boolean.php),用 *(bool)* 或者 *(boolean)* 来强制转换。但是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制结构需要一个 [boolean](http://php.net/manual/zh/language.types.boolean.php) 参数时,该值会被自动转换。 参见[类型转换的判别](http://php.net/manual/zh/language.types.type-juggling.php)。 当转换为 [boolean](http://php.net/manual/zh/language.types.boolean.php) 时,以下值被认为是 \*\*`FALSE**`: 1. 布尔值 FALSE本身 2. 整型值0(零) 3. 浮点型值0.0(零) 4. 空字符串,以及字符串"0" 5. 不包括任何元素的数组 6. 特殊类型NULL(包括尚未赋值的变量) 所有其它值都被认为是 \*\*`TRUE**`(包括任何[资源](http://php.net/manual/zh/language.types.resource.php) 和 \*\*`NAN**`)。 > **Warning** *\-1* 和其它非零值(不论正负)一样,被认为是 \*\*`TRUE**`! ``` <?php var_dump((bool) "");        // bool(false) var_dump((bool) 1);         // bool(true) var_dump((bool) -2);        // bool(true) var_dump((bool) "foo");     // bool(true) var_dump((bool) 2.3e5);     // bool(true) var_dump((bool) array(12)); // bool(true) var_dump((bool) array());   // bool(false) var_dump((bool) "false");   // bool(true) ?> ```