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表.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...