我有一系列数字总是在逻辑上增加。这些数字实际上是数据库中版本号的表示。例如,这里有一些示例数据:
使用PHP,我知道我可以比较这些值,并确定2.0.1小于2.0.3,但是有一种方法可以确定从2.0.1跳到2.0.3会打破系列(跳过2.0.2)?
答案 0 :(得分:1)
首先:小心! 1.0.1
与1.0.2
,1.1.0
或2.0
的简单PHP字符串比较将按预期工作,但在字符串比较中
'1.10.1' < '1.9.9'
'10.0' < '2.0'
我怀疑这不是你想要的。简而言之:当数字计数发生变化时,事情会中断。
因此,您需要通过从版本字符串中提取实数整数来抽象出比较,这使得不仅可以实现compare()
函数,而且还可以实现像{{1}这样的函数。检查漏洞。