我有这个数组:
$people = array(
'kids' => 100,
'adults' => function() {
return 1000
}
);
如果我print_r($people)
我得到:
Array ([kids] => 100, [adults] => Closure Object() )
如何获得 - 在同一个数组位置 - 闭包对象的返回值而不是Closure对象本身?
这可以在PHP中使用吗?
答案 0 :(得分:0)
$myFunction = function() { return 1000; };
$people = array( 'kids' => 100, 'adults' => $myFunction());
如果你尝试这样内联:
$people = array( 'kids' => 100, 'adults' => function() { return 1000; }());
您将收到一个解析错误:
PHP Parse错误:语法错误,意外'(',期待')'
如果您必须在一行上执行此操作,则可以使用call_user_func
:
$people = array(
'kids' => 100,
'adults' => call_user_func(function(){ return 1000; })
);