WithCoderWithCoderWithCoder

PHP函数学习之版本比较函数version_compare()的使用

在PHP中,我们可以使用PHP_VERSION等常量获取PHP的版本信息。有时,我们需要判断当前PHP版本是否满足要求,可以使用 version_compare() 函数来对比两个版本,判断当前PHP的版本是否高于某个版本,或者低于某个版本。

函数说明

     version_compare ( string $version1 , string $version2 [, string $operator ] ) : mixed

        version_compare() 用于对比两个「PHP 规范化」的版本数字字符串。这对于编写仅能兼容某些版本 PHP 的程序很有帮助。

        此函数首先在版本字符串里用一个点 . 替换 _、- 和 +,也会在任意非数字前后插入一个点 .,这样,类似 '4.3.2RC1' 将会变成 '4.3.2.RC.1'。 接下来它会分割结果, 然后它会从左往右对比各个部分。 如果某部分包含了特定的版本字符串,将会用以下顺序处理: 列表中未找到的任意字符串 < dev < alpha = a < beta = b < RC = rc < # < pl = p。 这种方式不仅能够对比类似 '4.1' 和 '4.1.2' 那种不同的版本级别,同时也可以指定对比任何包含 PHP 开发状态的版本。

        参数    

            version1

                第一个版本数。

            version2

                第二个版本数。 

            operator

                如果指定了可选的第三个参数 operator,就可以测试两者的特定关系。 可选的操作符分别有:<、 lt、<=、 le、>、 gt、>=、 ge、==、 =、eq、 !=、<> 和 ne。此参数区分大小写,它的值应该是小写的。

返回值   

           默认情况下,不指定第三个参数时,返回值的情况有下面三种:

                1. 在第一个版本小于第二个版本时,version_compare() 返回 -1;

                2. 如果在第一个版本等于第二个版本,返回 0;

                3. 第一个版本大于第二个版本,则返回 1。

           当使用了可选参数 operator 时,返回值为boolean,如果关系是操作符所指定的那个,函数将返回 TRUE,否则返回 FALSE。。

举例    

<?php
// 本人PHP版本为 7.0.23
// 默认情况下,返回数字 -1 , 0, 1
echo version_compare(PHP_VERSION, '5.4.0'); // 1

// 指定第三个参数进行比较时,返回boolean
var_dump(version_compare(PHP_VERSION, '5.4.0', '>')); // true
var_dump(version_compare(PHP_VERSION, '5.4.0', '=')); // false
var_dump(version_compare(PHP_VERSION, '5.4.0', '<')); // false

欢迎分享交流,转载请注明出处:WithCoder » PHP函数学习之版本比较函数version_compare()的使用