如何在php对象stdClass中调用带有参数的函数


$test1 = [
'greeting' => function($name) {
return 'Hello ' . $name;
},
];
$test2 = (object) $test1;
dump($test1['greeting']('Danny'));
dump($test2->greeting('Danny'));

首次尝试

第二次尝试

第三次尝试失败:(

很抱歉,如果以前有人问过我这个问题,但我不知道如何表达,或者如果有人能给我指明正确的方向,我将不胜感激。

我试图在$test2->问候语中放入一个变量,但这是不允许的

只需添加一对括号:

$result = ($test2->greeting)('Danny');

或者,使用dump:

dump(($test2->greeting)('Danny'));

如果不这样做,PHP将始终将其解释为方法调用。

最新更新