2016-09-21 56 views
0

在PHP計算我做一個簡單的計算,而是用繩子PHP:是用繩子可靠

$num_1 = '200.50'; (string) 
$num_2 = '100.50'; (string) 

echo $num_1 - $num_2 

結果如預期100.00

我想知道的是,我沒有投值浮動,仍然得到正確的結果。
而我的問題是如果這種(字符串)計算是可靠的?

+1

它被稱爲「PHP類型雜耍」。你的兩個字符串在數字上下文中使用,所以它們被轉換爲浮點數。 – Rizier123

+0

試試看看---> echo gettype($ num_1 - $ num_2); // double –

+0

PHP autocasts變量。當您嘗試對字符串var進行數學運算時,它會轉換爲整數。同樣,如果你嘗試對一個int進行字符串操作,它將變成一個字符串$ a = 2; $ b = $ a。'我現在是一個字符串'; echo $ b; //「2我現在是一個字符串」 –

回答

1

如果在字符串中使用數字,這是可靠的。如果您使用字母字符,特殊字符或您在基本數學中不會期望的其他內容,則可能會得到意想不到的結果。

要了解更多關於您可以預期的行爲以及如何預防問題的信息,請參閱PHP文檔以瞭解類型雜耍。

http://php.net/manual/en/language.types.type-juggling.php

+0

嗨,大家好 - 快速解答 - 超級。 Rizier123是第一個,但Goose給出了最完整的答案。所以我接受他的回答 - 好嗎? – Ben

+0

鵝 - 漂亮的網站;-) – Ben