最近在做項目的時候想起了php的版本比較,查了下百度找到了 version_compare() 函數。
php手冊中是這麼描述 version_compare()函數的:
version_compare() 用於對比兩個「PHP 正常化」的版本數字字串。 這對於編寫僅能相容某些版本 PHP 的程式很有協助
此函數首先在版本字串裡用一個點 . 替換 _、- 和 +,也會在任意非數字前後插入一個點 .,這樣,類似 '4.3.2RC1' 將會變成 '4.3.2.RC.1'。 接下來它會分割結果,就像你使用 explode('.', $ver) 那樣。 然後它會從左往右對比各個部分。 如果某部分包含了特定的版本字串,將會用以下順序處理: 列表中未找到的任一字元串 < dev < alpha = a < beta = b < RC = rc < # < pl = p。 這種方式不僅能夠對比類似 '4.1' 和 '4.1.2' 那種不同的版本層級,同時也可以指定對比任何包含 PHP 開發狀態的版本。
mixed version_compare ( string $version1 , string $version2 [, string $operator ] )
返回混合型
string $version1 - 版本1 必填
string $version2 - 版本2 必填
string $operator - 理解為運算子吧 選填
也就是 <、lt、<=、 le、>、 gt、>=、 ge、==、 =、eq、 !=、<> 和 ne。
如果說指定了第三個參數則返回的是 boolean , 如果沒有指定第三個參數則返回的情況有下面三種:
第一個版本低於第二個版本的時候 return -1
第一個版本等於第二個版本的時候 return 0
第一個版本小於第二個版本的時候 return 1
'; //本人使用的版本為 5.2.17echo 'PHP的目前的版本為 '.PHP_VERSION."\n";var_dump(version_compare(PHP_VERSION,'5.2.0'));var_dump(version_compare(PHP_VERSION,'5.2.0','='));var_dump(version_compare(PHP_VERSION,'5.3.0','ge'));if(version_compare(PHP_VERSION,'5.3.0','ge')){echo '您的PHP版本大於5.3.0,目前的版本為 '.PHP_VERSION;}else{echo '您的PHP版本小於5.3.0,目前的版本為 '.PHP_VERSION;}
結果如下:
PHP的目前的版本為 5.2.17 int(1)bool(false)bool(false)您的PHP版本小於5.3.0,目前的版本為 5.2.17
以上就介紹了PHP 版本比較函數 version_compare() 函數,包括了PHP 版本比較,version_compare方面的內容,希望對PHP教程有興趣的朋友有所協助。