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

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

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

PHP
白板的微信 2019-03-15 11:10:52
<?php echo 1+2+"3+4+5"; ?>
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

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

查看完整回答
反对 回复 2019-03-17
?
ITMISS

TA贡献1871条经验 获得超8个赞

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

 

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

 

故结果是6。

 

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

1

2

3

if (0 == "abc") {

    echo "123";

}


 

 


查看完整回答
反对 回复 2019-03-17
  • 2 回答
  • 0 关注
  • 827 浏览

添加回答

举报

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