如何使用匿名函数php

时间:2017-10-27 13:29:02

标签: php

当我想要更改此功能时,我遇到了phpstorm的错误

$callback = create_function('$matches', 'return strtoupper($matches[1]);');

通过

callback = function('$matches', 'return strtoupper($matches[1]);');

如果这是一个错误,如何解决。

谢谢。

1 个答案:

答案 0 :(得分:2)

您不应该使用create_function()create_function()使用eval()eval()是邪恶的。

更严重的是,eval()(以及create_function())存在很大的安全问题。如果您使用的是PHP 5.3或更高版本,则应使用本机匿名函数,在这种情况下:

$callback = function($matches) {
    return strtoupper($matches[1]);
}

供参考:Anonymous functions

请注意,从PHP 7.2开始,create_function已被弃用。