-1
Q
PHP結果
A
回答
1
首先,請注意您正在執行數字的添加(而不是字符串連接)。
由於這個原因,解釋器試圖在執行總和之前將字符串轉換爲數字。
解析字符串時,遇到數字時會生成結果數字。當遇到非數字時,轉換結束**。
轉換爲60
。 %
沒有意義,簡單地被丟棄。
"$20"
轉換爲0
,因爲遇到$
符號字符串到int轉換被中止。
所以,你必須60+3
雙引號字符串內的美元符號實際上有特殊的含義,如果後面是變量名:變量的內容放置到字符串,以便:
$a = "20";
$b = "10" + "$a"; // --> 30
(**)有一些例外:"10E3"
被轉換爲10E3
= 1000
;
"10.2"
在轉換到10.2
。整個操作變成浮點數的總和。
相關問題
- 1. 總結PHP結果
- 2. Echo PHP結果
- 3. 從GeoPlugin緩存IP結果PHP結果
- 4. 解析從結果的結果 - PHP
- 5. PHP回聲如果結果
- 6. 奇結果在PHP
- 7. 顯示結果PHP
- 8. 編號結果 - PHP
- 9. 調用結果PHP
- 10. PHP回聲結果
- 11. 顯示PHP結果
- 12. PHP curl空結果
- 13. PHP排序結果
- 14. PHP的foreach結果
- 15. PHP的結果頁
- 16. PHP MySQL的結果
- 17. 每頁結果PHP
- 18. 結果,用PDO PHP
- 19. PHP變量結果
- 20. SHA1 PHP mcrypt_decrypt結果
- 21. 格式PHP結果
- 22. PHP分割結果
- 23. php json_encode mysql結果
- 24. php搜索結果
- 25. PHP MySQL計數結果和如果這是所有的結果
- 26. PHP Pathfinder不返回結果
- 27. PHP:映射數組結果
- 28. PHP MD5不同的結果
- 29. PHP - PDO庫返回結果
- 30. PHP - date_diff否定結果?
它們只是字符串中的字符,沒有特殊含義的....你的數學正試圖與一些特殊的含義 –
弱類型意味着PHP將嘗試將字符串轉換爲數字運算使用(給他們灌輸你的'+ '),從左到右工作直到遇到非數字字符;所以它可以將''60%''轉換爲'60',但不能將''20「'轉換爲任何東西,所以它將它視爲0;所以3 + 60 + 0 = 63 –
它是有道理的。您可以將您的評論發佈爲解決方案嗎?謝謝 – ruud