搜索
为什么在 PHP 中 0==null 为 ture ?
phpcn_u1582
phpcn_u1582 2017-06-17 09:15:17
[PHP讨论组]

PHP

var_dump(0 == null)
//ture

javascript

console.log(0 == null)

//false

PHP 中为什么0==null,0难道不是一个数值吗?

phpcn_u1582
phpcn_u1582

全部回复(2)
迷茫

原因是在PHP中变量是以C语言的结构体来存储的,空字符串和NULL,false都是以值为0存储的.
null,0,false在不区分类型的情况下都判为逻辑假 即false

过去多啦不再A梦

参见PHP手册,下图截取自PHP手册

此表展示了PHP二元运算符对于运算符左右运算子进行的处理。

可见,0 == null,一个运算子为数字,另一个运算子为null,符合表中的第二种情况,所以按照描述,两边同时被转成相应的布尔值,也就是说0null都被转成了false,这样 false == false就是true

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号