微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP为什么0 ==’全部’是真的?

参见英文答案 > How do the PHP equality (== double equals) and identity (=== triple equals) comparison operators differ?20个
我正在阅读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表.

原文地址:https://www.jb51.cc/php/133158.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐