Compare two version strings in PHP

后端 未结 5 882
遇见更好的自我
遇见更好的自我 2020-12-10 11:28

How to compare two strings in version format? such that:

version_compare(\"2.5.1\",  \"2.5.2\") => -1 (smaller)
version_compare(\"2.5.2\",  \"2.5.2\") =&         


        
5条回答
  •  天命终不由人
    2020-12-10 12:16

    I have developed this function. I hope it helps. It can go to any length.

    function updateAppVersion($appVersion1, $appVersion2)
    {
        $releaseVersion = explode(".",$appVersion1);
        $deviceVersion = explode(".",$appVersion2);
    
        $len = count($deviceVersion);
        if(count($releaseVersion)>count($deviceVersion)){
            $len = count($releaseVersion);
        }
    
        for($i = 0;$i<$len;$i++){
            echo "[i=".$i."][r=".$releaseVersion[$i]."][d=".$deviceVersion[$i]."]";
            if(!isset($releaseVersion[$i])){
                return false;
            }
            else if(!isset($deviceVersion[$i])){
                return true;
            }
            else if($releaseVersion[$i]>$deviceVersion[$i]){
                return true;
            }
            else if($releaseVersion[$i]<$deviceVersion[$i]){
                return false;
            }
    
        }
    
        return false;
    }
    

提交回复
热议问题