在php中添加带数字的字符串

时间:2012-06-14 04:45:30

标签: php

$a = "3dollars";
$b = 20;
echo $a += $b;
print($a += $b);

结果:

23
43

我从这个计算中得到一个问题。$ a是一个字符串,$ b是数字。我正在添加两个并使用echo打印23并使用print return 43打印。怎么样

6 个答案:

答案 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;