PHP 手册
后退 | 章 11. 类型 | 前进

# 布尔型

这是最简单的类型。boolean 表达了真值，可以为 `TRUE` 或 `FALSE`。

> 注: 布尔类型是 PHP 4 引进的。

## 语法

要指定一个布尔值，使用关键字 `TRUE` 或 `FALSE`。两个都不区分大小写。

`<?php $foo = True; // assign the value TRUE to $foo ?>`

通常你用某些运算符返回 boolean 值，并将其传递给控制流程。

`// == is an operator which test // equality and returns a boolean if ($action == "show_version") { echo "The version is 1.23"; } // this is not necessary... if ($show_separators == TRUE) { echo "<hr>\n"; } // ...because you can simply type if ($show_separators) { echo "<hr>\n"; }`

## 转换为布尔值

要明示地将一个值转换成 boolean，用 (bool) 或者 (boolean) 来强制转换。但是很多情况下不需要用强制转换，因为当运算符，函数或者流程控制需要一个 boolean 参数时，该值会被自动转换。

参见类型戏法。

当转换为 boolean 时，以下值被认为是 `FALSE`：

- 布尔值 `FALSE`

- 整型值 0（零）

- 浮点型值 0.0（零）

- 空白字符串和字符串 "0"

- 没有成员变量的数组

- 没有单元的对象（仅适用于 PHP 4）

- 特殊类型 NULL（包括尚未设定的变量）

所有其它值都被认为是 `TRUE`（包括任何资源）。

警告
-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) ?>`

后退 | 起点 | 前进
类型 | 上一级 | 整型