PHP8中如何替换废弃的create_function()函数修复报错
错误修复方案
PHP 8.0版本已彻底移除旧的create_function()函数,你之前尝试的闭包写法存在语法错误,直接替换为以下标准匿名函数写法即可正常运行:
$callback_2 = function($matches) { return "[" . str_replace("|", "", $matches[1]) . "]"; };
写法注意事项
- 匿名函数(闭包)的参数需要直接定义在
function关键字后的圆括号内,不需要用引号包裹参数名 - 函数执行逻辑直接写在花括号内部,不需要额外套圆括号、加引号包裹代码语句,语法规则和普通自定义函数完全一致
- 上述写法兼容PHP 5.3及以上所有版本,覆盖PHP 7、PHP 8全系列,不会再触发
Call to undefined function create_function()的致命错误
原错误写法问题说明
你之前写的闭包把参数声明、return语句都错误放在了函数体内部,还额外加了引号和括号包裹,不符合PHP闭包的语法规范,因此无法正常执行。
内容的提问来源于stack exchange,提问作者Alapan Das
相关产品推荐
相关产品推荐

