参见英文答案 >
How do the PHP equality (== double equals) and identity (=== triple equals) comparison operators differ?20个
我正在阅读boolean的PHP文档.
我正在阅读boolean的PHP文档.
其中一条评论说0 ==’all’是真的.
http://php.net/manual/en/language.types.boolean.php#86809
我想知道它是如何成真的.
文档说除了’0’之外所有非空字符串都是真的.
所以’一切’都是真的
和
0是假的.
false == true应该是false.
但:
if(0=='all'){ echo 'hello'; }else{ echo 'how are you '; }
打印’你好’.
在PHP中,运算符==和!=不比较类型.因此,PHP会自动将’all’转换为0的整数.
echo intval('all');
您可以使用===运算符来检查类型:
if(0 === 'all'){ echo 'hello'; }else{ echo 'how are you '; }
见Loose comparisons表.