关于PHP版本比较函数version_compare的问题
$version1="v4.0";
$version2="v4.0.0";
print_r(version_compare($version1,$version2));exit();
对于上面的返回的结果是-1,但是在我们看来上面应该是相等的。因为这个函数是用于对比两个「PHP 规范化」的版本数字字符串,而对于PHP规范来说是设置三位版本号。如果我们使用这个函数来对比我们的app版本那么要注意使用三位版本号。
这里提供一个修改后的函数:
function version_code_compare($version1,$version2){
$version1_arr=explode(".",$version1);
$version2_arr=explode(".",$version2);
$max_length=max(count($version1_arr),count($version2_arr));
$version1_arr=array_pad($version1_arr,$max_length,0);
$version2_arr=array_pad($version2_arr,$max_length,0);
return version_compare(implode(".",$version1_arr),implode(".",$version2_arr));
}
关于PHP版本比较函数version_compare的问题的更多相关文章
- PHP 版本判断 version_compare() 函数
在度娘中简单的找了下,判断当前PHP的版本是否高于某个版本,或者低于某个版本的方法 显示的结果基本上都是一样的,好吧,要不是我忘记了version_compare()这个函数我才不会去找度娘,果断找以 ...
- c++ 软件版本比较函数
// 版本号拆分为数组 void splitToInt(string str , vector<int> *v1, char delim ){ // 拆分 string strTmp; s ...
- 获取php版本
phpversion()函数可以获取版本 version_compare可以比较两个版本 mixed version_compare ( string $version1 , string $vers ...
- php基础_2
php可变变量: $a = "hello"; $$a = "world"; echo $a . $$a; 输出:hello world; current — 返 ...
- ob_get_contents 获取输出缓存内容
function _require($filename){ ob_start(); include $filename; $content = ob_get_contents(); ob_end_cl ...
- YUI的UA检测
YUI.UA是针对javascript的宿主环境检测的一个检测对象,返回的是一系统关于当前宿主的信息 1.对象相关信息列表及userAgent 检测对象o = { ie: 0, //ie Mozill ...
- PHP 实现Session入库/存入redis
对于大访问量的站点使用默认的Session 并不合适,我们可以将其存入数据库.或者使用Redis KEY-VALUE数据存储方案 首先新建一个session表 CREATE TABLE `sessio ...
- [转]考虑 PHP 5.0~5.6 各版本兼容性的 cURL 文件上传
FROM : https://segmentfault.com/a/1190000000725185 最近做的一个需求,要通过PHP调用cURL,以multipart/form-data格式上传文件. ...
- 升级时出现:请先升级 UCenter 到 1.6.0 以上版本。
有的站点UCenter升级完成后仍然提示请先升级 UCenter 到 1.6.0 以上版本的现象,下面分享下UCenter版本号不正确的原因和处理办法,可能有以下的几个文件和处理办法: 一.UCent ...
随机推荐
- Sql Server2008R2与IDEA的连接
数据库的连接笔者搞了一天,参阅了众多连接方案,大部分都是Eclipse和My sql,笔者一遍一遍的调试,终于皇天不负有心人,成绩先摆出来 为了让更多的新手能少走弯路,话不多说,上干货 首先,我们需要 ...
- perl 安装LOG4perl 模块
环境信息 ubuntu 12.04 64位 桌面版 Log-Log4perl 的介绍网址:http://search.cpan.org/~mschilli/Log-Log4perl-1.49/lib/ ...
- nutz 使用beetl
src目录或src同级的其他目录(比如conf)下创建 beetl.properties文件,文件内容如下 (maven项目)在resources目录下创建 RESOURCE_LOADER=org.b ...
- PostgreSQL-12-数据导入与导出
1.数据导入 - COPY FROM CREATE DATABASE c04_datacleaning; \c c04_datacleaning 创建新的数据库 COPY table_name [ ( ...
- java操作rabbitmq实现简单的消息发送(socket编程的升级)
准备: 1.下载rabbitmq并搭建环境(和python那篇一样:http://www.cnblogs.com/g177w/p/8176797.html) 2.下载支持的jar包(http://re ...
- 113 Path Sum II 路径总和 II
给定一个二叉树和一个和,找到所有从根到叶路径总和等于给定总和的路径.例如,给定下面的二叉树和 sum = 22, 5 / \ 4 ...
- ruby字符串处理
1. str="abc123"puts str[0].chr => a puts str[0] =>a的ascii码 2.中文字符串的正则 ...
- dos命令安装windows服务
以下两种方法都是通过dos命令创建windows服务 1.创建服务 sc create UploadRealVolumeService start= auto binpath= C:\Users\Ad ...
- git更新到远程服务器代码
git commit -a 在vi里输入一些内容 wq退出,git pull, git push
- python第一模块基础语法
一·python和各大高级语言的优缺点比较 1.c语言开发效率低 2.c++开发效率高于c语言,低于java,python. 3.java代码臃肿,设计复杂,库繁杂量多. 4.PHP应用领域单一,且运 ...