1、布尔值问题
以下情况的值均为false:
- 布尔值 FALSE 本身
- 整型值 0(零)
- 浮点型值 0.0(零)
- 空字符串,以及字符串 “0”
- 不包括任何元素的数组
- 特殊类型 NULL(包括尚未赋值的变量)
// 字符串false
var_dump((bool) "false"); // bool(true)
// 类型自动转换问题 字符串all会转换成int型 0
var_dump(0 == 'all'); // TRUE, take care
// 请等于会判断类型
var_dump(0 === 'all'); // false
var_dump('0' == 'all'); // false
var_dump((string)0 == 'all'); //false
var_dump((bool)'0'); //false
var_dump((bool)0); //false
// 字符串0.0为true
var_dump((bool)'0.0'); //true
var_dump((bool)0.0); //false