试图弄清楚为什么 php 匿名函数只有在函数头中给出参数时才起作用。
例如
$f = function(){
echo "hello world";
};
$f;
$f();
不会工作。但
$f = function($argument){
echo $argument;
}
$f('hello world');
工作得很好。
为什么它需要参数,是否有任何解决方法?
编辑
这应该是版本问题。我在 5.3.18 上,我的第一个例子肯定行不通。对于那些不相信的人,它会抛出:
Parse error: syntax error, unexpected T_FUNCTION in index.php(192) :
eval()'d code on line 1
编辑
看了 DaveRandom 的回答后,我又回到了不知道发生了什么的状态。也就是说,如果他们是正确的,它可以在 5.3.10 中工作......