在PHP中将字符串转换为long int的正确方法

时间:2014-06-02 19:50:35

标签: php string casting long-integer typeconverter

我试过(int) "4209531264"intval("4209531264") 但遗憾的是我得到的是2147483647(我意识到这是因为32位架构或某些php依赖或其他东西)。

我提出了"4209531264" + 0,它返回了正确的结果,但令人惊讶的是它看起来有效,因为它超出了maxint。

但真正的问题是:这是将字符串转换为long的“正确方法”吗?

编辑:

(float)即是。

感谢您的评论!眼睛开放!

1 个答案:

答案 0 :(得分:14)

只要您不是非常关注最终的价值,"number" + 0可能是转换输入的最佳方式,因为它会转换为" natural"数字数据类型。

如果输入没有小数部分并且适合(参见PHP_INT_MAX)或浮点数(如果没有),则结果将为整数。