我有一系列总是按逻辑递增的数字。这些数字实际上是数据库中版本号的表示。因此,例如,这里有一些示例数据:
- 1.0
- 1.0.1
- 2.0.0
- 2.0.1
例如,使用 PHP,我知道我可以比较这些值并确定 2.0.1 小于 2.0.3,但是是否有 pr 语法确定从 2.0.1 跳转到 2.0.3 的方法打破了系列(跳过 2.0.2)?
最佳答案
首先:小心! 1.0.1
与 1.0.2
、1.1.0
或 2.0
的简单 PHP 字符串比较将作为预期,但在字符串比较中
'1.10.1' < '1.9.9'
'10.0' < '2.0'
我怀疑这不是您想要的。简而言之:当数字计数发生变化时,事情就崩溃了。
所以你需要通过从你的版本字符串中提取真实的整数来抽象出比较,这使得不仅实现 compare()
函数变得微不足道,而且还实现了类似用于检查漏洞的 is_sequence()
。
关于php - 使用 PHP 比较递增的系列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9575836/