2012-06-14 46 views
13
$a = "3dollars"; 
$b = 20; 
echo $a += $b; 
print($a += $b); 

结果:在PHP中添加字符串数

 
23 
43 

我从这个计算的一个问题$ a是一个字符串和$ b是number.I我同时添加和使用echo其打印打印23和打印使用打印回43.How是

+0

http://php.net/language.types.type-juggling – 2012-06-14 04:48:24

回答

17

它施放“3dollars”作为一个数字,让$a = 3

当您回显时,您将添加20到$a,因此它会打印23$a = 23

然后,当你打印,你再添加20,所以现在$a = 43

+1

如何得到它从3 “3dollar”? – rynhe

+1

这是PHP只是如何处理字符串为int的转换。它挑出领先的数字并忽略其余部分。请阅读Phpenix发布的链接,作为对您问题的评论。 – xbonez

+0

更合适的链接:http://www.php.net/manual/en/language.types.string.php#language.types.string.conversion – xbonez

-2

既然您已经创建了两个变量,它存储每个的结果,所以当你添加$ a的值20,将呼应23存储在系统中,他们当你打印$一个现在是23除了$ b是20,你会得到43

-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; 
-1

正确的方式来增加(在技术上串联)字符串是

$a = 7; 
$b = "3 dollars"; 
print ($a . $b); // 73 dollars 

+运营商在PHP中自动转换为字符串的数字,这也解释了为什么你的代码进行arimethic而不是串联