PHP中,当其他类型变量转换为 boolean 时,以下值被认为是 FALSE:
- 布尔值 FALSE 自身;
- 整型值 0 (零);
- 浮点型值 0.0 (零);
- 空字符串(""), 以及 字符串("0");
- 不包括任何元素的数组;
- 不包括任何成员变量的对象(仅PHP 4.0 适用);
- 特殊类型 NULL (包括尚未设定的变量);
- 从没有任何标记(tags)的XML文档生成的SimpleXML 对象;
其它所有值都被认为是 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)
?>