我想比较有时可能有两个小数点的应用/软件的版本号,例如:
1.0
1.1
1.0.01
1.0.1
2.0
2.5
3.0
等。等。
比较这些数字的正确方法是什么?
我尝试了这个,但收到了错误:
解析错误:语法错误,第2行/home/videocoo/public_html/dev/vc-admin/test_cmp.php中的意外T_DNUMBER
$a = 1.2.11;
$b = 1.2.0;
if($a > $b){
print"<br />a is greater";
} else {
print"<br />b is greater";
}
将数字变成字符串,用双引号括起来是不正确的?每当我测试不同的数字时,它似乎给出了正确的比较。谢谢!
答案 0 :(得分:5)
您要查找的功能是version_compare()
PHP Reference
<?php
$versionA = '1.0.1';
$versionB = '1.0.2';
if (version_compare($versionA, $versionB) >= 0) {
echo 'Version B is equal to or greater than Version A';
}
if (version_compare($versionA, $versionB, '<')) {
echo 'Version A is less than Version B';
}
?>
答案 1 :(得分:2)
将版本号作为字符串进行比较将无效:请检查1.9
与1.11
。您可以改为使用version_compare
:http://php.net/manual/en/function.version-compare.php。