版本如:2.3.3,如果要进行比较的话,裸写代码还是有点小麻烦的,需要将字符串按'.'号进行分拆,然后再一个一个转成整数进行比较。其实各语言里都有现成的版本比较函数。
PHP里进行版本使用version_compare,原型如下:
mixed version_compare ( string $version1 , string $version2 [, string $operator ] )
$operator取值为<、lt、<=、 le、>、 gt、>=、 ge、==、 =、eq、 !=、<> 和 ne。
Python里版本比较举例如下:
>>> from distutils.version import LooseVersion, StrictVersion
>>> LooseVersion("2.3.1") < LooseVersion("10.1.2")
True
>>> StrictVersion("2.3.1") < StrictVersion("10.1.2")
True
>>> StrictVersion("1.3.a4")
Traceback (most recent call last):
...
ValueError: invalid version number '1.3.a4'
StrictVersion合法举例:
0.4 0.4.0 (these two are equivalent)
0.4.1
0.5a1
0.5b3
0.5
0.9.6
1.0
1.0.4a3
1.0.4b1
1.0.4
StrictVersion不合法的举例:
1
2.7.2.2
1.3.a4
1.3pl1
1.3c4
LooseVersion限制比较宽松,举例如下:
1.5.1
1.5.2b2
161
3.10a
8.02
3.4j
1996.07.12
3.2.pl0
3.1.1.6
2g6
11g
0.960923
2.2beta29
1.13++
5.5.kw
2.0b1pl0