PHP 版本判断 version_compare() 函数

By | 11月24日
Advertisement

在度娘中简单的找了下,判断当前PHP的版本是否高于某个版本,或者低于某个版本的方法

显示的结果基本上都是一样的,好吧,要不是我忘记了version_compare()这个函数我才不会去找度娘,果断找以前的代码

php手册中是这么描述 version_compare()函数的:

version_compare() 用于对比两个「PHP 规范化」的版本数字字符串。 这对于编写仅能兼容某些版本 PHP 的程序很有帮助

mixed version_compare ( string $version1 , string $version2 [, string $operator ] )

返回混合型

string $version1 - 版本1 必填

string $version2 - 版本2 必填

string $operator - 理解为运算符吧 选填

也就是 <lt<=le>gt>=ge===eq!=<>ne

如果说指定了第三个参数则返回的是 boolean , 如果没有指定第三个参数则返回的情况有下面三种:

第一个版本低于第二个版本的时候 return -1

第一个版本等于第二个版本的时候 return 0

第一个版本小于第二个版本的时候 return 1

<?php
header('content-type:text/html;charset=utf-8');
/**
 * 判断php的版本是否在5.3.0以上
 */

echo '<pre>';

//本人使用的版本为  5.2.17
echo 'PHP的当前版本为 '.PHP_VERSION."\n";

var_dump(version_compare(PHP_VERSION,'5.2.0'));

var_dump(version_compare(PHP_VERSION,'5.2.0','='));

var_dump(version_compare(PHP_VERSION,'5.3.0','ge'));

if(version_compare(PHP_VERSION,'5.3.0','ge')){

    echo '您的PHP版本大于5.3.0,当前版本为 '.PHP_VERSION;

}else{

    echo '您的PHP版本小于5.3.0,当前版本为 '.PHP_VERSION;

}

结果如下:

PHP的当前版本为 5.2.17
int(1)
bool(false)
bool(false)
您的PHP版本小于5.3.0,当前版本为 5.2.17

Similar Posts:

  • Windows系统版本判断(*****)

    原文地址:http://blog.csdn.net/magictong/article/details/40753519 一.前言 本文并不是讨论windows操作系统的版本来历和特点,也不是讨论为什么没有Win9,而是从程序员角度讨论下Windows获取系统版本的方法和遇到的一些问题.在Win8和Win10出来之后,在获取系统版本时,可能很多人都碰到了类似的问题,为什么以前工作得很好的API,突然开始说谎了? 我们一般怎么获取系统版本 我想用的最多的可能就是这两个API了吧. DWORD WI

  • Bash编程(二)之if判断与函数

    Bash编程(二)之if判断与函数 一.if语句 If语句:用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一.测试条件,状态返回值为0或为真,则执行选择分支.三种使用格式:单分支.双分支.多分支. 格式: 1.单分支: if 测试条件:then 选择分支 fi 注意:如果把命令执行成功与否当作条件,则if语句后必须只跟命令本身,而不能引用. 自定义shell进程的状态返回值: exit [n] 2.双分支:两个分支仅执行其中之一 if 测试条件:then 选择分支

  • API版本的TrimNull函数

    很有用的API版本的TrimNull函数: Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long Private Function TrimNull(startstr As String) As String TrimNull = Left(startstr, lstrlenW(StrPtr(startstr))) End Function

  • 黑马程序员--关于IOS系统版本判断

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本小菜鸟最近在做一小应用, 发现IOS6与IOS7系统上控件的界面上存在挺大的差异, 另外有些东西必须针对IOS6与IOS7分别处理, 在这里与大家分享一下关于IOS开发中系统版本判断的问题 首先是关于IOS系统版本的判断, 通过UIDevice获取当前的系统版本, 再进行数字比较, 注意是float类型 if ([[[UIDevice currentDevice] systemVersion

  • iOS系统版本判断方法给我留下的坑

    一直都在用着Three20库中的系统版本判断方法都是挺正常的,一直到iOS10的出现,它竟然直接就把我往坑里推了.先来看这样的一段代码: if ([Utils versionStringCompare:@"9.0"] != NSOrderedAscending) { //do something... } 代码原意是在9.0版本以上要做相应的操作,结果在iOS 10下竟然不走里面的逻辑,经过调试发现返回的值竟然是NSOrderedAscending.于是,不多说直接看比较版本方法的实现

  • PHP 的常用的判断检测函数

    PHP 的函数多如牛毛,常用的自然记住,不常用的真的记不住... 这里列出是是关于变量类型.数据存在性.可用性 的检测函数 gettype() //返回变量类型的字符串描述,类似 js 的 typeof ,由于变量类型被多次修改,不建议使用 settype() //修改变量类型(不仅仅修改变量的值,与类型转换不同) var_export(expression,true) //打印数据的合法 php 代码字符串(可 eval ),true 将代码返回不打印 var_dump(expression1

  • [转]js 判断js函数、变量是否存在

    本文转自:http://blog.csdn.net/liang4571231/article/details/4042519 在进行js编程时,总会出现可能一些函数或者变量未定义而被引用,导致报错的情况.为了避免此类事情的发生,可以在调用前判断函数是否已经被定义. 函数: try { if(typeof(eval(funcName))=="function") { funcName(); } }catch(e) { alert("not function"); }

  • [导入]js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称

    1,列举对象属性的名称 <script language="javascript"> var obj=new Object(); obj.a="您好,我是田洪川"; obj.b="你是田洪川咋的,不得了啊?"; obj.c="西西,哈哈,我是属性 c "; //上面当然是申明一个新的对象,并给对象申明属性再赋值 //下面我们再给上面的对象做一个镶套的对象,还是加新属性并赋值 obj.d=new Object();

  • Vs2005用,生成Doxygen格式版本注释以及函数注释的宏

    文件: vs2005注释宏.rar 大小: 1KB 下载: 下载 用doxygen觉得很顺手的,可是手写太复杂了点,我是懒人,所以懒主意很多的,vs2005的示列注释宏被我改了一下,凑合用不错的.. Sub AddVision() Dim selection As EnvDTE.TextSelection If DTE.ActiveDocument.Type = "Text" Then DTE.ActiveDocument.Selection.StartOfDocument() sel

  • Ex7_1编写子函数,判断主函数中输入的整数是­否为素数

    #include "stdio.h" //写一个判素数的函数,在主函数中输入一个整数,输出是否是素数的信息 void main() { int prime(int); int number; scanf("%d",&number); if(prime(number)) printf("yes"); else printf("no"); } int prime(int number) { int flag=1,n; fo

Tags: