Home > Article > Backend Development > PHP version comparison function version_compare() function
Recently, when I was working on a project, I remembered PHP version comparison. I checked Baidu and found the version_compare() function.
This is how the version_compare() function is described in the PHP manual:
version_compare() is used to compare two "PHP normalized" version number strings. This is helpful for writing programs that are only compatible with certain versions of PHP
This function first replaces _, - and + with a dot in the version string. It will also insert a dot before and after any non-number. In this way, something like '4.3.2RC1' will become '4.3.2.RC .1'. Next it splits the result, just like you would with explode('.', $ver) . It then compares the sections from left to right. If a section contains a specific version string, it will be processed in the following order: Any string not found in the list < dev < alpha = a < beta = b < RC = rc < # < pl =p. Not only can this method compare different version levels like '4.1' and '4.1.2', but it can also be specified to compare any version that contains PHP development status.
mixed version_compare ( string $version1
, string $version2
[, string $operator
] )
Return mixed
string $version1 - version 1 required
string $version2 - version 2 required
string $operator - understand it as an operator. Optional
That is, <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <> and ne.
If the third parameter is specified, boolean is returned. If the third parameter is not specified, the following three situations are returned:
Return -1 when the first version is lower than the second version
Return 0 when the first version is equal to the second version
When the first version is less than the second version, 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; }
The result is as follows:
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>
The above introduces the PHP version comparison function version_compare() function, including the content of PHP version comparison and version_compare. I hope it will be helpful to friends who are interested in PHP tutorials.