Bak*_*urg 5 php anonymous-function
有时在初始化变量时,您希望传递它们太复杂而无法在单个命令中计算的值,因此您通常先计算一个虚拟变量然后传递其值,或者在其他地方定义一个函数,并将其返回值传递给我们的变量.
我的问题(愿望)是,是否可以使用匿名函数动态计算变量?
例如,而不是使用这个:
$post = get_post();
$id = $post->ID;
$array = array(
'foo' => 'hi!',
'bar' => $id
);
Run Code Online (Sandbox Code Playgroud)
让我们使用这样的东西:
$array = array(
'foo' => 'hi!',
'bar' => (function(){
$post = get_post();
return $post->ID;
})
);
Run Code Online (Sandbox Code Playgroud)
代码完全是随机的.
在您的示例中,以下内容就可以了:
$array = array('foo'=>'hi!','bar'=>(get_post()->ID));
Run Code Online (Sandbox Code Playgroud)
但是,考虑到您的问题更加开放,并且不特定于您的代码片段,您可能会发现这个stackoverflow 答案是可以接受的。
$a = array('foo' => call_user_func(
function(){
$b = 5;
return $b;
})
);
var_dump($a);
Run Code Online (Sandbox Code Playgroud)