讨论数量:
字符类型转强制转换为整型,‘无’ 转换成了 0,没毛病
>>> $a = '无'
=> "无"
>>> (int)$a
=> 0
>>> 0 == $a
=> true
>>> 0 === $a
=> false
>>> $a
=> "无"
>>> $b = '有有有啊'
=> "有有有啊"
>>> (int)$b
=> 0
-1 和其它非零值(不论正负)一样,被认为是 true!
<?php
// 0可以通过任何参数,包括自身
var_dump(0 == 1); // false
var_dump(0 == (bool)'all'); // false
var_dump(0 == 'all'); // TRUE, take care
var_dump(0 === 'all'); // false
// 为了避免这种行为,您需要像这样将参数强制转换为字符串
var_dump((string)0 == 'all'); // false
?>
推荐文章: