繁体   English   中英

php使用匿名函数动态计算变量

[英]php computing a variable on the fly using anonymous functions

有时在初始化变量时,您希望传递它们太复杂而无法在单个命令中计算的值,因此您通常先计算一个虚拟变量然后传递其值,或者在其他地方定义一个函数,并将其返回值传递给我们的变量。

我的问题(愿望)是,是否可以使用匿名函数动态计算变量?

例如,而不是使用这个:

$post = get_post();
$id = $post->ID;

$array = array(
    'foo' => 'hi!',
    'bar' => $id
);

让我们使用这样的东西:

$array = array(
    'foo' => 'hi!',
    'bar' => (function(){
        $post = get_post();
        return $post->ID;
    })
);

代码完全是随机的。

在您的示例中,以下内容可以正常运行:

$array = array('foo'=>'hi!','bar'=>(get_post()->ID));

但是,考虑到您的问题有点开放,而不是特定于您的代码片段,您可能会发现此stackoverflow答案可以接受

$a = array('foo' => call_user_func(
    function(){
        $b = 5;
        return $b;
    })
);
var_dump($a);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM