重写php中的类型选择或比较两个浮点

重写php中的类型选择或比较两个浮点,php,comparison,compare,Php,Comparison,Compare,所以基本上,我从不同的资源(外部资源和数据库)获得两个非常大的ID,我需要以某种方式比较它们。如果他们匹配,我需要打破这一行动 看起来很简单,但PHP正在将它们转换为浮点数(看起来像6.2983963148698E+14),而它们似乎从未匹配过 我该怎么办?我尝试在PHP中搜索某种类型的大整数,或者将它们转换为字符串。那是行不通的 简单地说,我在这方面没有什么经验 谢谢你的帮助。你试过了吗?我不想破坏你666的声誉,但+1这确实是一些很棒的功能,但我似乎无法让bccomp为我工作。它总是说,左操

所以基本上,我从不同的资源(外部资源和数据库)获得两个非常大的ID,我需要以某种方式比较它们。如果他们匹配,我需要打破这一行动

看起来很简单,但PHP正在将它们转换为浮点数(看起来像6.2983963148698E+14),而它们似乎从未匹配过

我该怎么办?我尝试在PHP中搜索某种类型的大整数,或者将它们转换为字符串。那是行不通的

简单地说,我在这方面没有什么经验


谢谢你的帮助。

你试过了吗?

我不想破坏你666的声誉,但+1这确实是一些很棒的功能,但我似乎无法让bccomp为我工作。它总是说,左操作数更大,而实际上,它应该是相反的。例如:651555829190656大于650384310340,但bccomp告诉我相反,当ID转换为科学浮点数时。一定有更好的方法来比较这些ID。。是吗?@donkapone一定要把这些数字作为字符串而不是int传递给函数,例如
if(bccomp(“651555829190656”,“650384310340”){…}
如果需要,使用强制类型转换,即
if(bccomp((string)$n,(string)$m)){…}
在PHP中处理大整数比数字变大时想象的要困难得多——您运行的操作系统/硬件变得非常重要。有关更多信息,请参阅本文()。