version_compare 对比两个「PHP 规范化」的版本数字字符串
发表日期:2021-07-01 08:55:08 | 来源: | | 浏览(725) 分类:PHP 选项/信息 函数
version_compare
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
version_compare — 对比两个「PHP 规范化」的版本数字字符串
说明
$version1
, string $version2
, string $operator
= ?): mixedversion_compare() 用于对比两个「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
。此参数区分大小写,它的值应该是小写的。
返回值
默认情况下,在第一个版本低于第二个时,version_compare() 返回 -1
;如果两者相等,返回 0
;第二个版本更低时则返回 1
。
当使用了可选参数 operator
时,如果关系是操作符所指定的那个,函数将返回 true
,否则返回 false
。
范例
下例使用了 PHP_VERSION
常量,因为它执行的代码包含了 PHP 版本的值。
示例 #1 version_compare() examples
<?php 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"; } ?>
注释
注意:
PHP_VERSION
常量包含了当前 PHP 的版本。
注意:
注意,类似 5.3.0-dev 的预发行版本,被认为是低于它们的最终发行版本(就像 5.3.0)。
注意:
指定类似
alpha
、beta
的版本字符串是大小写敏感的。 版本字符串的来源若不遵循 PHP 标准,可能需要在调用 version_compare() 之前先用 strtolower() 转成小写。
参见
- phpversion() - 获取当前的PHP版本
- php_uname() - 返回运行 PHP 的系统的有关信息
- function_exists() - 如果给定的函数已经被定义就返回 true
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- assert_options 设置/获取断言的各种标志(0)
- assert 检查一个断言是否为 false(0)
- cli_get_process_title Returns the current process title(0)
- cli_set_process_title Sets the process title(0)
- dl 运行时载入一个 PHP 扩展(0)
- extension_loaded 检查一个扩展是否已经加载(0)
- gc_collect_cycles 强制收集所有现存的垃圾循环周期(0)
- gc_disable 停用循环引用收集器(0)
- gc_enable 激活循环引用收集器(0)
- gc_enabled 返回循环引用计数器的状态(0)
- gc_mem_caches Reclaims memory used by the Zend Engine memory manager(0)
- gc_status Gets information about the garbage collector(0)
- get_cfg_var 获取 PHP 配置选项的值(0)
- get_current_user 获取当前 PHP 脚本所有者名称(0)
- get_defined_constants 返回所有常量的关联数组,键是常量名,值是常量值(0)
- get_extension_funcs 返回模块函数名称的数组(0)
- get_include_path 获取当前的 include_path 配置选项(0)
- get_included_files 返回被 include 和 require 文件名的 array(0)
- get_loaded_extensions 返回所有编译并加载模块名的 array(0)
- get_magic_quotes_gpc 获取当前 magic_quotes_gpc 的配置选项设置(0)
- get_magic_quotes_runtime 获取当前 magic_quotes_runtime 配置选项的激活状态(0)
- get_required_files 别名 get_included_files()(0)
- get_resources Returns active resources(0)
- getenv 获取一个环境变量的值(0)
- getlastmod 获取页面最后修改的时间(0)
- getmygid 获取当前 PHP 脚本拥有者的 GID(0)
- getmyinode 获取当前脚本的索引节点(inode)(0)
- getmypid 获取 PHP 进程的 ID(0)
- getmyuid 获取 PHP 脚本所有者的 UID(0)
- getopt 从命令行参数列表中获取选项(0)
- getrusage 获取当前资源使用状况(0)
- ini_alter 别名 ini_set()(0)
- ini_get_all 获取所有配置选项(0)
- ini_get 获取一个配置选项的值(0)
- ini_restore 恢复配置选项的值(0)
- ini_set 为一个配置选项设置值(0)
- main 虚拟的main()(0)
- memory_get_peak_usage 返回分配给 PHP 内存的峰值(0)
- memory_get_usage 返回分配给 PHP 的内存量(0)
- php_ini_loaded_file 取得已加载的 php.ini 文件的路径(0)
- php_ini_scanned_files 返回从额外 ini 目录里解析的 .ini 文件列表(0)
- php_sapi_name 返回 web 服务器和 PHP 之间的接口类型(0)
- php_uname 返回运行 PHP 的系统的有关信息(0)
- phpcredits 打印 PHP 贡献者名单(0)
- phpinfo 输出关于 PHP 配置的信息(0)
- phpversion 获取当前的PHP版本(0)
- putenv 设置环境变量的值(0)
- restore_include_path 还原 include_path 配置选项的值(0)
- set_include_path 设置 include_path 配置选项(0)
- set_time_limit 设置脚本最大执行时间(0)
- sys_get_temp_dir 返回用于临时文件的目录(0)
- version_compare 对比两个「PHP 规范化」的版本数字字符串(0)
- zend_thread_id 返回当前线程的唯一识别符(0)
- zend_version 获取当前 Zend 引擎的版本(0)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)