php 使用字符判断 bool 值 true or false 注意事项
学习 php 的时候有看到过相似的总结归纳,但还是会忘,只有自己在实践中犯错了才能印象深刻。很多时候会把一个字符串、或者一个数组作为判定条件,然后不经意间就犯错了。
比如 '0' == false
是 ok 的,但 '0.0'
值为 true
。数组里面 array() == false
是 ok 的,但 array(0)
值为 true
。==
在判断条件里是会自动转换两边类型的,当直接将字符串或者数组作为判断条件时,其实就相当于判断 '0.0' == true
和 array(0) == true
。
在 php 中以下类型的值会被判定为 false:
- 0
- 0.0
- ''
- '0'
- array()
- null