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

前端之家收集整理的这篇文章主要介绍了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.f2er.com/php/133158.html

猜你在找的PHP相关文章