我正在使用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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。