当转换为 bool 时,以下值被认为是 false:
- 布尔值
false
本身 - 整型值
0
(零) - 浮点型值
0.0
(零)-0.0
(零) - 空字符串
""
,以及字符串"0"
- 空数组
- NULL(包括尚未赋值的变量)
- 内部对象的强制转换行为重载为 bool。例如:由不带属性的空元素创建的 SimpleXML 对象。
- 所有其它值都被认为是 true(包括 资源 和 NAN)。
Warning
-1 和其它非零值(不论正负)一样,被认为是 true!
<?php
var_dump((bool) false); // bool(false)
var_dump((bool) 0); // bool(false)
var_dump((bool) 0.0); // bool(false)
var_dump((bool) -0.0); // bool(false)
var_dump((bool) ""); // bool(false)
var_dump((bool) "0"); // bool(false)
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) [12]); // bool(true)
var_dump((bool) "false"); // bool(true)
var_dump((bool) "0.0"); // bool(true)
var_dump((bool) "00"); // bool(true)
var_dump((bool) " 0"); // bool(true)
var_dump((bool) "000 "); // bool(true)