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

前端之家收集整理的这篇文章主要介绍了如何在同一个文件中为多个版本的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])); },$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
原文链接:https://www.f2er.com/php/138907.html

猜你在找的PHP相关文章