【发布时间】:2012-04-29 09:50:17
【问题描述】:
我需要比较两个版本号,看看一个是否大于另一个,并且我很难做到这一点。
版本 1:test_V10.1.0.a.1@example 版本 2:test_V9.7.0_LS@example
我已经尝试删除所有非数字字符,所以我会留下:
版本 1:10101 版本2:970
将 'a' 从 10.1.0.a.1 中删除,这样就不好了,我尝试在 'test_' 和 '@' 之间取走所有内容,然后去掉下划线 '_' 右侧的所有内容和下划线本身,但是我仍然必须去掉字符串开头的“V”。
即使我可以降低到 10.1.0.a.1 和 9.7.0,我如何比较这两个?我怎么知道 10.1.0.a.1 是否大于 9.7.0?如果我去掉小数,我仍然在 1010a1 中留下一个非数字字符,但我需要那个字符,以防我比较的发行版本是 10.1.0.b.1,这将大于10.1.0.a.1.
这让我发疯了,以前有人处理过吗?你是如何比较这些值的?我正在使用 php。
【问题讨论】:
标签: php comparison versioning