最近在做專案的時候想起了php的版本比較,查了下百度找到了 version_compare() 函數。
php手冊中是這樣描述 version_compare()函數的:
version_compare() 用來對比兩個「PHP 規範化」的版本數字字串。 這對於編寫僅能相容於某些版本 PHP 的程式很有幫助
此函數首先在版本字串裡用一個點. 替換_、- 和+,也會在任意非數字前後插入一個點.,這樣,類似'4.3.2RC1' 將會變成'4.3.2.RC .1'。 接下來它會分割結果,就像你使用 explode('.', $ver) 那樣。 然後它會從左往右對比各個部分。 如果某部分包含了特定的版本字串,將會用以下順序處理: 在清單中找不到的任意字串
mixed version_compare ( string $version1
, string $
回傳混合型
string $version1 - 版本1 必填
string $version2 - 版本2 必填
也就是
、
lt
、、
le、>、 gt、>=、 、 !=、 和 ne。
如果說指定了第三個參數則傳回的是 boolean , 如果沒有指定第三個參數則傳回的情況有以下三種:
第一個版本低於第二個版本的時候 return -1
第一個版本等於第二個版本的時候 return 0
第一個版本小於第二個版本的時候 return 1
<?php
header('content-type:text/html;charset=utf-8');
/**
* 判断php的版本是否在5.3.0以上
*/
echo '<pre class="brush:php;toolbar:false">';
//本人使用的版本为 5.2.17
echo '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的当前版本为 <span>5.2</span>.<span>17</span><span> int(</span><span>1</span><span>) bool(</span><span>false</span><span>) bool(</span><span>false</span><span>) 您的PHP版本小于5.</span><span>3.0</span>,当前版本为 <span>5.2</span>.<span>17</span>
以上就介紹了PHP 版本比較函數 version_compare() 函數,包含了PHP 版本比較,version_compare方面的內容,希望對PHP教程有興趣的朋友有所幫助。