我知道闭包可以用作变量值。但是我很困惑哪个被称为这个值

i know that closure can use as variable value.But i am confused which are called this value

提问人:GaziAnis 提问时间:2/8/2019 最后编辑:NickGaziAnis 更新时间:2/8/2019 访问量:33

问:

我在这里声明一个匿名函数。在这段代码中,我想知道变量的值或表达式是什么。 我以为会是或.$a$a = function($x){echo $x;};$a("php")

$a = function($x){
     echo $x;
};
$a("php");

那么你能告诉我该代码中的变量值是什么吗?

PHP 闭包 匿名函数

评论

0赞 tshimkus 2/8/2019
我刚刚尝试了你的代码,但正如我所怀疑的那样,它是 NULL。该函数执行回显,但不存储任何内容。该函数需要一个返回值来为var_dump($a("php"));$a

答:

0赞 Rohit Mittal 2/8/2019 #1

您的代码等同于下面的代码

function funName ($x) {
    echo $x;
}
funName("php");

您正在创建一个匿名函数(闭包),该函数可以由 $a 声明。目前$a不是一个变量,它是一个闭包对象。只要你想 调用这个函数,你需要像 $a 一样调用函数

$a("$x varibale's value").

我希望我的观点是正确的。