在PHP中将字符串转换为长整型的正确方法


Proper way of converting string to long int in PHP

我尝试了(int) "4209531264"intval("4209531264")但遗憾的是,我得到的只是2147483647(我意识到这是因为32位体系结构或一些php依赖性或其他原因(。

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

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

编辑:

(float)

谢谢你的评论!大开眼界!

只要您对最终得到的值不是很挑剔,"number" + 0可能是转换输入的最佳方式,因为它可以转换为"自然"数字数据类型。

如果输入没有小数部分并且适合(请参见PHP_INT_MAX(,则结果将是一个整数;如果没有,则结果为浮点。