首页 > 解决方案 > php字符串加法,双引号和单引号打印和回显混淆

问题描述

在php中,为什么添加“1”+“1”并且echo给出2没有放在双引号内使数字字符串?

<?php
$x = "1";
$y = "3";

$z = $x + $y;


echo($z); // this print 4

?>

另外,如果我们举这个例子,因为变量中的值在双引号内,如果你使用单引号来打印下面的表达式,为什么它会打印 $x + $y = $z

<?php
$x = "1";
$y = "3";

$z = $x + $y;

echo '$x + $y = $z'; // prints  $x + $y = $z  

?>

标签: phpstringoperation

解决方案


因为您在这里使用“+”:

$z = $x + $y;

当您执行此操作时,如果可能,PHP 将转换为 int 以进行添加。如果你想存储“1 + 3”,你可以这样:

$z = $x . ' + ' . $y;

推荐阅读