问答详情
源自:3-3 PHP-变量名的命名规则

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

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

这个结果为10,是对的,

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

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

提问者:小小单身 2018-07-01 00:52

个回答

  • doderic
    2018-07-01 11:16:53
    已采纳

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

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


  • 慕莱坞9075672
    2018-07-06 15:21:57

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

  • 茶图
    2018-07-01 11:13:40

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