关于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 ...
随机推荐
- Java之多线程优先级基础
线程得到cpu的给的时间才能运行 有一个同步方法,里面有一个线程进去了,外面A,B俩线程在排队,A优先级比B优先级高,等到同步方法里面的线程出去了, 一定是A先进去; 但是: 因此,仅将高优先级赋予一 ...
- 多次页面跳转后pop回主界面的问题
最近写代码的时候出了点BUG, 查阅资料后终于解决了. 问题原因大概是: 项目中所有的viewController都是继承自一个封装好的viewController. navigationbar, n ...
- shell学习(1)
#!/bin/bash #######read从屏幕输入######## echo "what is your name?" read PERSON echo "Hell ...
- sql server 数据库维护
select 'kill ',s.spid, sd.name, * from sys.sysprocesses sinner join sys.sysdatabases sd on s.dbid=sd ...
- HDU1087(树状数组求LIS)
题是水题,学习一下用树状数组求LIS. 先离散化一下,注意去重:然后就把a[i]作为下标,dp[i]作为值,max作为维护的运算插进树状数组即可. 如果是上升子序列,询问(a[i] - 1):如果是不 ...
- JAVA常用知识总结(十二)——数据库(二)
MySQL主从热备份工作原理 简单的说:就是主服务器上执行过的sql语句会保存在binLog里面,别的从服务器把他同步过来,然后重复执行一遍,那么它们就能一直同步啦. 整体上来说,复制有3个步骤: 作 ...
- 使用tmodjs
1.安装 npm install -g tmodjs 2.配置 我的模板都放在tpl文件夹中,htmls用于存放模板页面,每一个后缀名都是.html,而build用于存放编译后输出的模板js. 如果不 ...
- git reflog查看所有操作记录
git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录 具体一个例子, ...
- IT兄弟连 JavaWeb教程 Servlet定义以及环境配置 BS程序和CS程序
随着网络技术的不断发展,单机的软件程序已难以满足网络计算机的需求.为此,各种各样的网络程序开发体系结构应运而生.其中,运用最多的网络应用程序开发体系结构可以分为两种,一种是基于客户端/服务器的C/S结 ...
- java代码(生成long类型数字)
package test; public class GenerateNum { public static void main(String[] args) { //定义为long类型,需在数值后面 ...