为了账号安全,请及时绑定邮箱和手机立即绑定

php里,为什么0 == 'abc'是成立的?

php里,为什么0 == 'abc'是成立的?

ITMISS 2019-03-29 10:59:49
0==''是成立的我倒是明白,0=='abc'也成立就不懂了,请各位指教!
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

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

TA贡献1813条经验 获得超2个赞

$a='abc';
$b=(int)$a;
echo$b;
if(0==$b){
//成立
}执行一下你就知道了
                            
查看完整回答
反对 回复 2019-03-29
  • 2 回答
  • 0 关注
  • 448 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号