$a = "3dollars";
$b = 20;
echo $a += $b;
print($a += $b);
结果:
23 43
我从这个计算中得到一个问题。$ a是一个字符串,$ b是数字。我正在添加两个并使用echo打印23并使用print return 43打印。怎么样
答案 0 :(得分:18)
它将“3dollars”转换为数字,得到$a = 3
。
当你回音时,你向$a
添加20,所以它会打印23
和$a = 23
。
然后,当您打印时,再次添加20,现在$a = 43
。
答案 1 :(得分:1)
添加(技术上连接)字符串的正确方法是
$a = 7;
$b = "3 dollars";
print ($a . $b); // 73 dollars
php中的+
运算符会自动将字符串转换为数字,这就解释了为什么你的代码执行了arimethic而不是连接
答案 2 :(得分:1)
PHP根据其值自动将数据类型与变量关联。由于没有严格意义上的数据类型设置,因此您可以执行类似将字符串添加到整数的操作,而不会引起错误。
在PHP 7中,添加了类型声明。这样,我们就可以在声明函数时指定所需的数据类型,并且通过添加严格声明,如果数据类型不匹配,则会抛出“致命错误”。
要指定严格,我们需要设置clarify(strict_types = 1);。这必须在PHP文件的第一行。然后它将显示致命错误,如果您未声明此严格条件,则会将字符串转换为整数。
答案 3 :(得分:0)
如果你需要这两个值,将它们返回到一个数组中
答案 4 :(得分:-2)
由于你为两者创建了一个变量,它存储了每个变量的结果,所以当你将$ a加到20时它会回显23存储在系统中的那些,当你打印$ a时它们现在又是23到$ b即20。你将得到43。
答案 5 :(得分:-3)
PHP对待3dollars'作为整数3,因为字符串以整数开头并参与算术运算,所以
$a = "3dollars";
$b = 20;
echo $a += $b;
it echo 23; //$a=$a+$b;
now $a = 23 + 20;
print($a += $b); //$a=$a+$b;
it print 43;