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