Maison  >  Article  >  développement back-end  >  PHP 版本比较函数 version_compare() 函数

PHP 版本比较函数 version_compare() 函数

WBOY
WBOYoriginal
2016-08-08 09:33:141578parcourir

最近在做项目的时候想起了php的版本比较,查了下百度找到了 version_compare() 函数。

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

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

此函数首先在版本字符串里用一个点 . 替换 _、- 和 +,也会在任意非数字前后插入一个点 .,这样,类似 '4.3.2RC1' 将会变成 '4.3.2.RC.1'。 接下来它会分割结果,就像你使用 explode('.', $ver) 那样。 然后它会从左往右对比各个部分。 如果某部分包含了特定的版本字符串,将会用以下顺序处理: 列表中未找到的任意字符串

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 class="brush:php;toolbar:false">';
 
//本人使用的版本为  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的当前版本为 <span>5.2</span>.<span>17</span><span> int(</span><span>1</span><span>)
bool(</span><span>false</span><span>)
bool(</span><span>false</span><span>)
您的PHP版本小于5.</span><span>3.0</span>,当前版本为 <span>5.2</span>.<span>17</span>

 

以上就介绍了PHP 版本比较函数 version_compare() 函数,包括了PHP 版本比较,version_compare方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn