如何在不使用create_function的情况下重写示例?

Den*_*nis 3 php anonymous-function create-function

在查看PHP的create_function时,它说:

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

我想重新创建与create_function使用相同的功能anonymous function。我看不到方法或正确方法。

本质上,如何更改以下内容,以便不再使用create_function但仍可以输入要使用自己的参数求值的自由格式公式?

$newfunc = create_function(
    '$a,$b',
    'return "ln($a) + ln($b) = " . log($a * $b);'
);
echo $newfunc(2, M_E) . "\n";
Run Code Online (Sandbox Code Playgroud)

示例取自PHP create_function页面。

注意:

看起来与上面的示例一样,我可以传入任意字符串,并为我编译它。我可以不使用来以某种方式做到这一点create_function吗?

Zol*_*abó 6

$newfunc = function($a, $b) {
    return "ln($a) + ln($b) = " . log($a * $b);
}

echo $newfunc(2, M_E) . "\n";
Run Code Online (Sandbox Code Playgroud)