關於PHP版本比較函數version_compare的問題


$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));

 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM