主页

在项目开发过程中,涉及app端,经常会根据版本号做一些开发限制工作,所以记录一下
介绍:version_compare — 对比两个「PHP 规范化」的版本数字字符串
说明:

version_compare(string $version1, string $version2, ?string $operator = null): int|bool

,此函数首先在版本字符串里用一个点 . 替换 _、- 和 +,也会在任意非数字前后插入一个点 .,这样,类似 '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可选运算符。可能运算符有:<、lt、<=、le、 >、gt、>=、ge、==、 =、eq、!=、<>、ne。此参数区分大小写,它的值应该是小写的。
返回值:默认情况下,在第一个版本低于第二个时,version_compare() 返回 -1;如果两者相等,返回 0;第二个版本更低时则返回 1。当使用了可选参数 operator 时,如果关系是操作符所指定的那个,函数将返回 true,否则返回 false。
示例:

if (version_compare(PHP_VERSION, '7.0.0') >= 0) {
    echo 'I am at least PHP version 7.0.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    echo 'I am at least PHP version 5.3.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
    echo 'I am at least PHP version 5.0.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '<')) {
    echo 'I am still PHP 4, my version: ' . PHP_VERSION . "\n";
}
$version = '1.7.2';
if (version_compare($cv, '1.7.1', '>=')) {
    echo '当前版本正确';
}else{
    echo '当前版本太低,请升级版本后体验';
}

注意:指定类似 alpha、beta 的版本字符串是大小写敏感的。 版本字符串的来源若不遵循 PHP 标准,可能需要在调用 version_compare() 之前先用 strtolower() 转成小写。

原文参考:https://www.php.net/manual/zh/function.version-compare.php

版权属于:三分快乐,七纷幸福
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
0
查看目录

目录

来自 《php version_compare 版本比较函数》
评论

三分快乐,七纷幸福
104 文章数
7 评论量
11 分类数
107 页面数
已在风雨中度过 2年246天19小时14分