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

Mac*_*ski 17 php string casting typeconverter long-integer

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

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

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

编辑:

(float) 那是.

谢谢你的评论!眼睛开放!

Jon*_*Jon 15

只要你不是非常关注你最终"number" + 0会得到什么样的价值,可能是转换输入的最佳方式,因为它转换为"自然"数字数据类型.

如果输入没有小数部分并且适合(请参阅PHP_INT_MAX),则结果将是整数,否则结果将是浮点数.