编程语言
首页 > 编程语言> > 如果PHP版本的条件忽略新代码

如果PHP版本的条件忽略新代码

作者:互联网

所以我有一个需要在几个站点上运行的脚本.我有一个版本的脚本,使用一些新的PHP 5.3函数进行了优化,但有些站点是5.2等.

这段代码:

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    Do the optimised 5.3 code (Although 5.2 throws syntax errors for it)
} else {
  do the slower version of code
}

但是,在5.2服务器上,它将检测第一个if条件中的“语法错误”,即使它在技术上应该跳过该内容,我知道PHP仍然会扫描整个文件.

如果完全忽略第一个怎么能得到5.2(我知道我可以用“@”来忽略错误,但那感觉就像在作弊?)

解决方法:

您可以根据版本包含不同的脚本,然后在该版本中永远不会包含具有5.2中无效语法的脚本.

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
     include("script53.php");
} else {
     include("script52.php");
}

标签:php-5-3,php,version,php-5-2
来源: https://codeday.me/bug/20190825/1714848.html