加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在同一个文件中为多个版本的PHP编码而不出错?

发布时间:2020-12-13 13:50:38 所属栏目:PHP教程 来源:网络整理
导读:我正在使用version_compare在一个文件中支持两个版本的 PHP代码,但我仍然收到错误. 码: if (version_compare(PHP_VERSION,'5.3.0') = 0) { $alias = preg_replace_callback('/#x([0-9a-f]{1,7});/i',function($matches) { return chr(hexdec($matches[1]));
我正在使用version_compare在一个文件中支持两个版本的 PHP代码,但我仍然收到错误.

码:

if (version_compare(PHP_VERSION,'5.3.0') >= 0) {
    $alias = preg_replace_callback('/&#x([0-9a-f]{1,7});/i',function($matches) { return chr(hexdec($matches[1])); },$alias);
    $alias = preg_replace_callback('/&#([0-9]{1,7});/',function($matches) { return chr($matches[1]); },$alias);
} else {
    $alias = preg_replace('/&#x([0-9a-f]{1,7});/ei','chr(hexdec("1"))',$alias);
    $alias = preg_replace('/&#([0-9]{1,7});/e','chr("1")',$alias);
}

但我得到:

PHP Parse error: syntax error,unexpected T_FUNCTION

在preg_replace_callback()调用,可能是因为匿名函数.

不可能使用版本检查来决定使用会导致先前版本中的解析错误的语言功能.解析器查看整个文件,无论分支如何.

如果该版本的lint检查失败,则无论分支如何,它将无法正常工作:

> php -l file.php
> PHP Parse error: syntax error,unexpected T_FUNCTION

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读