已弃用:函数CREATE_Function()已弃用

时间:2021-02-04 作者:Ziad El Khomssi

我的插件代码中有一个不推荐使用的函数:

static function vksort(&$arr, $valuekey) {
    $valuekey = sustr::preg_filter(\'A-Za-z0-9 \', $valuekey);
    uasort($arr, create_function(\'$a,$b\', \'return strcasecmp($a["\'.$valuekey.\'"], $b["\'.$valuekey.\'"]);\'));
}
如何将create\\u函数更改为function。

1 个回复
SO网友:Buttered_Toast

您的服务器运行的PHP版本不支持create\\u函数。

来自PHP手册关于create function

警告:从PHP 7.2.0开始,此函数已被弃用,从PHP 8.0.0开始,此函数已被删除。非常不鼓励依赖此功能。

如果您使用的是PHP 5.3.0或更新版本,则应使用本机匿名函数。

如果插件是你的,我建议用匿名函数替换create\\u函数。

如果插件不是你的,并且是付费插件,请联系插件作者并提醒他错误,让他给你更新的版本。

如果插件是免费的,您可以手动更新代码(如果您知道如何更新),但这可能会有问题。当插件更新时,您的更改将被删除。如果这是唯一的选项,请确保将插件和更改保存在安全的地方,这样如果插件将被更新,您将拥有以前的插件版本和修复程序,以便快速重新应用。

EDIT

相同的代码,但具有匿名函数

static function vksort(&$arr, $valuekey) {
    $valuekey = sustr::preg_filter(\'A-Za-z0-9 \', $valuekey);
    uasort($arr, function ($a, $b) use($valuekey) {
        return strcasecmp($a[$valuekey], $b[$valuekey]);
    });
}

相关推荐

警告:第56行的主题php中为Foreach()提供的参数无效

我发现了这个错误,但不知道该怎么办,我已经禁用了插件并再次激活了它们,但每个产品的评论页面上都显示了相同的错误。非常感谢你的帮助下面是确切的错误:警告:在/home/flowt/public\\u html/wp-content/themes/rubens/template/single-product/u-review中为foreach()提供的参数无效。php在线56所以我去了我的主题编辑器,下面是我在第56行看到的内容,但不确定我是否应该触摸这段代码,我不是一个程序员:printf(\'<di