2012-06-14 47 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而不是串聯