《如何在PHP中實現比較版本號》要點:
本文介紹了如何在PHP中實現比較版本號,希望對您有用。如果有疑問,可以聯系我們。
一般來說各種軟件、SDK、框架都會有自己的版本號,版本號的主要格式如下:
主版本號 . 子版本號 [ 修正版本號 [. 編譯版本號 ]]
例如:
示例1:1.0
示例2:1.1.1
示例3:1.1.2.1234
在開發中,我們經常會遇到需要針對版本號進行判斷.很多人會選擇將版本號用點分隔,然后逐位進行判斷的辦法來做,這樣會顯得很繁瑣.其實在PHP中有個內置辦法就可以很容易地完成這項工作.這就是 version_compare 辦法.這個辦法可以傳入兩個版本號進行比較判斷.
先看一下這個辦法的說明:
mixed version_compare ( string $version1 , string $version2 [, string $operator ] )
version1:第一個版本號
version2:第二個版本號
operator: 可以指定特定關系進行比較
如果operator不傳的話,則如果 version1大于version2,返回 1,相等返回0,小于返回-1.
舉個栗子:
echo version_compare('1.0' , '1.1.1');
echo version_compare('1.0' , '1.0.0');
echo version_compare('1.0' , '1.0');
echo version_compare('2.0' , '1.0.0');
返回的結果:
-1
-1
0
1
如果指定operator的話,operator可以有以下操作符:
<、 lt、<=、 le、>、 gt、>=、 ge、==、 =、eq、 !=、<> 和 ne
如果 version1 、version2 滿足 operator指定的關系,則返回TRUE,否則返回FALSE.
舉個栗子:
var_dump(version_compare('1.0' , '1.1.1' , '<'));
var_dump(version_compare('1.0' , '1.1.1' , '='));
var_dump(version_compare('1.0' , '1.1.1' , '>'));
返回的結果:
bool(true)
bool(false)
bool(false)
用這個辦法來比較版本號是不是很簡單?不過這個辦法原則上是用于PHP版本號的判斷,比如開發者寫一些PHP代碼需要兼容不同PHP版本的時候就可以用這種判斷來處理.比如:
$array = array('你好');
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
$str = json_encode($array, JSON_UNESCAPED_UNICODE);
}else{
$str = json_encode($array);
}
echo $str;
因為json_encode 第二個參數是在PHP 5.3.0 才支持的,這樣可以兼容老版本.
當然這個辦法用在其他的版本號比較處理中也是可以的,只要想比較的版本號都是比較規范化的,而不是一些不走尋常路的版本號.
歡迎參與《如何在PHP中實現比較版本號》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9669.html