0
我正在嘗試存儲電話號碼,並且由於類型轉換導致了一些問題?任何人都對這裏發生的事情有任何建議?PHP類型轉換錯誤更改值
var_dump((int)"6467838439"); // displays 'int 2147483647'
我正在嘗試存儲電話號碼,並且由於類型轉換導致了一些問題?任何人都對這裏發生的事情有任何建議?PHP類型轉換錯誤更改值
var_dump((int)"6467838439"); // displays 'int 2147483647'
一個整數是32位,有限大小約爲20億,所以你的電話號碼被截斷。您應該將其存儲爲字符串。
電話號碼應該存儲爲文本。由於整數溢出,它們通常不能存儲爲整數。
你達到了32位系統的最大整數範圍,它是1到2147483647,你有6467838439。所以當你嘗試用整數類型轉換它時,它會被轉換爲int的最大範圍,即2147483647.你只能將它存儲爲字符串 – 2012-01-02 05:09:45
@Shakti Singh:浮點數怎麼樣? – zerkms 2012-01-02 05:13:41
@zerkms:是的,你也可以轉換成'float'。 – 2012-01-02 05:15:45