代码之家  ›  专栏  ›  技术社区  ›  Alapan Das

将PHP8的create_function()替换为其他函数[重复]

  •  0
  • Alapan Das  · 技术社区  · 4 年前

    所以我有一个插件,以前工作得很好,但几天来,它给我带来了一个错误:

    PHP致命错误:未捕获错误:调用未定义的函数create\u function()

    经过一番搜索,我发现这是因为 create_function() 在PHP 8中不推荐使用。

    导致问题的确切原因是:

    $callback_2 = create_function('$matches', 'return "[" . str_replace("|", "", $matches[1]) . "]";');
    

    我尝试将其更改为:

    $callback_2 = function(){
     ('$matches', return "[" . str_replace("|", "", $matches[1]) . "]";);
    }
    

    但它不起作用。因此,如果有人能为我指出正确的方向,那就太好了。我对PHP也很陌生。

    1 回复  |  直到 4 年前
        1
  •  1
  •   Guido Faecke    4 年前

    尝试

    $callback_2 = function($matches) {
        return "[" . str_replace("|", "", $matches[1]) . "]";
    };