php里,为什么0 == 'abc'是成立的?
大家讲道理
大家讲道理 2017-04-10 13:12:06
[PHP讨论组]

0==''是成立的我倒是明白,
0=='abc'也成立就不懂了,请各位指教!

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(4)
PHP中文网

啊哈,前两天正好看了相关的文章,这是因为你的是一个数字和一个字符串进行比较,PHP会把字符串转换成数字再进行比较
PHP转换的规则的是:若字符串以数字开头,则取开头数字作为转换结果,若无则输出0
例如:123abc转换后应该是123,而abc则为00==0这当然是成立的啦!
具体可以参考官方手册:如果比较一个整数和字符串,则字符串会被转换为整数。
PS: @gaosboy 讲的'00'=='000'则是两个字符串的比较,官方手册也有解释。

怪我咯
$a = 'abc';
$b = (int)$a;
echo $b;
if(0 == $b){
    //成立
}

执行一下你就知道了

PHPz

看到这里,觉得是时候仔细看看php手册了~~~

怪我咯

考考大家,不做测试,直接说出var_dump(count('abcde'))的打印结果是什么

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

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