$version1="v4.0";
$version2="v4.0.0";
print_r(version_compare($version1,$version2));exit();
對於上面的返回的結果是-1,但是在我們看來上面應該是相等的。因為這個函數是用於對比兩個「PHP 規范化」的版本數字字符串,而對於PHP規范來說是設置三位版本號。如果我們使用這個函數來對比我們的app版本那么要注意使用三位版本號。
這里提供一個修改后的函數:
function version_code_compare($version1,$version2){
$version1_arr=explode(".",$version1);
$version2_arr=explode(".",$version2);
$max_length=max(count($version1_arr),count($version2_arr));
$version1_arr=array_pad($version1_arr,$max_length,0);
$version2_arr=array_pad($version2_arr,$max_length,0);
return version_compare(implode(".",$version1_arr),implode(".",$version2_arr));
}