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

为什么变量值用汉字输出结果的是0?

<?php
$x = 5;
$y = 5;
$z = $x+$y;
echo $z;
?>

这个结果为10,是对的,

但是下面这个把数字换成汉字为什么输出结果是0?

<?php
$x = "你叫";
$y = "什么";
$z = $x+$y;
echo $z;
?>

正在回答

3 回答

PHP有一个数据类型自动转换的机制, 当前你使用的是算术操作符, 只能对整型或者浮点型进行运算, 其它类型均会转换成整型或者浮点型; 当需要转换的字符串是以数字开头的, 则会将数字部分转换为整型或者浮点型, 其它部分舍去, 比如 $x = "5你好"; 经过转换之后就会变成 $x = 5; 然后再进行算术运算; 如果字符串不以数字开头,则直接转换为0, 也就是你第二段代码的结果. 字符串拥有自己的操作符".", 表示将两个字符串连接起来, 第二段代码想要正确输出,应当写为

<?php
$x = "你叫";
$y = "什么";
$z = $x.$y;
echo $z;
?>


0 回复 有任何疑惑可以回复我~
#1

小小单身 提问者

非常感谢!又学一课
2018-07-01 回复 有任何疑惑可以回复我~

在PHP里面 . 是连接符。  +是java c的连接符

0 回复 有任何疑惑可以回复我~

+不是字符串之间的连接符

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么变量值用汉字输出结果的是0?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信