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

<?php echo 1+2+"3+4+5"; ?>

<?php echo 1+2+"3+4+5"; ?>

PHP
慕姐4208626 2019-05-11 07:07:01
<?php echo 1+2+"3+4+5"; ?>
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞


首先要分成2部分
1+2,这部分是就是数值计算,也就是3
“3+4+5”是字符串,进入数值计算会将字符串硬性转换为数值,一般是第一个字符,如果是数值型字符串,就是完整的数字,也就是3
最后就是3+3=6了


查看完整回答
反对 回复 2019-05-12
?
森栏

TA贡献1810条经验 获得超5个赞

Php在进行数值计算时,如果遇到非数值,则会强制转换为数字,再计算。这里字符串就被转为了数字。

 

php字符串转整数的规则是,从字符串前部开始提取尽可能多的数字,后面非数字部分被丢弃。这里的"3+4+5"其实被转为3。

 

故结果是6。

 

看下例,虽然很不可思议,但确实会输出123。

1

2

3

if (0 == "abc") {

    echo "123";

}


 

 




查看完整回答
反对 回复 2019-05-12
  • 2 回答
  • 0 关注
  • 615 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信