2012-01-02 71 views
0

我正在尝试存储电话号码,并且由于类型转换导致了一些问题?任何人都对这里发生的事情有任何建议?PHP类型转换错误更改值

var_dump((int)"6467838439"); // displays 'int 2147483647' 
+5

你达到了32位系统的最大整数范围,它是1到2147483647,你有6467838439。所以当你尝试用整数类型转换它时,它会被转换为int的最大范围,即2147483647.你只能将它存储为字符串 – 2012-01-02 05:09:45

+1

@Shakti Singh:浮点数怎么样? – zerkms 2012-01-02 05:13:41

+0

@zerkms:是的,你也可以转换成'float'。 – 2012-01-02 05:15:45

回答

1

一个整数是32位,有限大小约为20亿,所以你的电话号码被截断。您应该将其存储为字符串。

4

电话号码应该存储为文本。由于整数溢出,它们通常不能存储为整数。