版本号格式: A.B.C, 字符串形式

 <?php

 // 强更版本, 客户端版本
$f = '5.8.5';
$c = '5.8.4'; // 字符串分割并转换成整数数组
function Split2Array($ver, $sep = '.')
{
$arr = explode($sep, $ver);
foreach($arr as &$v)
{
$v = intVal($v);
} return $arr;
} // 递归比较版本号接口
// return: -1: 小于, 0: 相等, 1: 大于
function compare($a1, $a2, $i)
{
if($a1[$i] < $a2[$i]) return -1;
elseif($a1[$i] > $a2[$i]) return 1;
elseif($i < 2) return compare($a1, $a2, $i+1);
else return 0;
} // 版本号比较接口(版本格式: A.B.C)
function CompareVersion($a, $b)
{
$a1 = Split2Array($a);
$a2 = Split2Array($b); return compare($a1, $a2, 0);
} $r = CompareVersion($f, $c); // 调用版本号比较接口
print_r($r);

Php实现版本比较接口的更多相关文章

  1. Java版本APP接口安全设计

    Java版本APP接口安全设计 安全设计分为两种: 1.传输安全. 2. 会话安全. 1.传输安全 怎么保证接口经过网络传输不被抓包获取? 1.如果只是使用对称性算法,破解APP拿到加密密钥就可以解密 ...

  2. ASP.NET Core 3.0 实战:构建多版本 API 接口

    第一次在博客写分享,请多多捧场,如有歧义请多多包含! 因为业务需求发展需要,所以API接口的变更升级是必不可少的事情,而原有的接口是不可能马上停止使用的.例如:Login接口为例,1.0版本之返回用户 ...

  3. 获取APP最新版本的接口案例

    思路: 开发初期.安卓的应用可能没有上传到应用市场,可以把应用apk放到服务器上,供用户下载.把对应用的版本信息整理成为一个XML文件,放到服务器上,通过接口读取xml文件,获取有版本信息,然后安卓端 ...

  4. 银盛支付ecshop,shopex,shopnc在线支付接口,php版本支付接口开发

    最近应一个客户的要求,给他的一个ecshop商城开发银盛支付在线支付接口.银盛支付服务股份有限公司(简称银盛支付)成立于2009年7月,总注册资本14000万元人民币,员工队伍持续壮大.2011年5月 ...

  5. 国付宝ecshop,shopex,shopnc在线支付接口,php版本支付接口开发

    最近应一个客户的要求,给他的一个ecshop商城开发国付宝在线支付接口.国付宝估计大家比较陌生,但是他集成了很多银行的一些网银接口,所以比较方便.号称国家级的第三方支付平台.最近有增加了域名验证,就是 ...

  6. 通用权限管理系统接口文档V4.2 版本之角色管理功能介绍

    角色功能维护界面:可实现添加.修改.删除角色,向角色添加或删除人员,角色具有哪些菜单的管理功能.

  7. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  8. SQLite剖析之编程接口详解

    前言 使用过程根据函数大致分为如下几个过程: sqlite3_open() sqlite3_prepare() sqlite3_step() sqlite3_column() sqlite3_fina ...

  9. APIJSON,让接口见鬼去吧!

    我: APIJSON,让接口见鬼去吧! https://github.com/TommyLemon/APIJSON 服务端: 什么鬼? 客户端: APIJSON是啥? 我: APIJSON是一种JSO ...

随机推荐

  1. js正则表达式中的

    $(function(){ //match方法---返回的是数组 var str = "1215rere565656"; alert(str.match(/\d+/g));cons ...

  2. startup.bat闪退问题

    startup.bat闪退问题 我自己遇到的 1.例如: 手动点击startup.bat 后 ,一闪而过 2例如:在cmd下 进到tomcat的bin目录 运行 startup.bat 解决问题,第一 ...

  3. 使用 SHOW STATUS 查看mysql 服务器状态信息

    在LAMP架构的网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL ...

  4. C# Request 获取Url

    1.获取页面,HttpContext.Current.Request也是Request //获取当前页面url string myurl = System.Web.HttpContext.Curren ...

  5. history.pushState无刷新改变url

    通过history.pushState无刷新改变url 背景 在浏览器中改变地址栏url,将会触发页面资源的重新加载,这使得我们可以在不同的页面间进行跳转,得以浏览不同的内容.但随着单页应用的增多,越 ...

  6. boost python3依赖安装

    之前写过python dlib依赖的安装,当时是使用了系统默认的python2.7安装的boost.Python,如果自己编译好python3,想安装支持python3的boost.Python也是可 ...

  7. Revit选择增强插件易蜀预选择过滤器

    Revit本身提供的选择过滤器能让我们快速选择到我们需要的图元,而将那些不需要的图元排除在选择集之外,如下图所示,假如我们需要选择全部的风管弯头,那么一种方法,我们可以点选,还有就是框选所有弯头,这样 ...

  8. 【Mac使用系列】【转载】十几个Mac实用工具

    本文摘自:https://www.jianshu.com/p/15c7b3711005 经过验证,这几个不存在: CleanMyMac.OmniGraffle,我将可用的放在云盘里,有需要的话,可以从 ...

  9. PL/SQL学习笔记之循环语句

    一:基本循环 LOOP 循环体: 退出循环: )IF condition THEN exit; END IF; ) exit WHEN condition; END LOOP; 二:WHILE循环 W ...

  10. 【转】《iOS7 by Tutorials》系列:iOS7的设计精髓(下)

    四.聚焦于内容 在iOS7里,强调的不是眼花缭乱的装饰效果,而是最重要的内容本身. 下面我们来探讨这个主题: 1.删除不必要的内容 伟大的设计更多是减法和加法的组合. 虽然很酷的想法是很重要,但还有更 ...