【发布时间】:2011-06-25 01:08:06
【问题描述】:
是否可以通过引用传递函数?
类似这样的:
function call($func){
$func();
}
function test(){
echo "hello world!";
}
call(test);
我知道你可以这样做 'test',但我真的不想要那样,因为我需要通过引用传递函数。
只有通过匿名函数才能做到这一点吗?
澄清:如果你回忆一下 C++,你可以通过指针传递一个函数:
void call(void (*func)(void)){
func();
}
或者在 Python 中:
def call(func):
func()
这就是我想要完成的。
【问题讨论】:
-
“需要通过引用传递函数”是什么意思?
-
这个问题正在演变为争论,因为您没有阐明“通过引用传递”的含义(通过引用传递已经具有特定含义,我认为此处不适用)。投票结束。
-
如果你回忆一下 C++,你可以传递一个函数的指针。这基本上就是我想要实现的目标。
-
你刚才说:“你可以传值也可以传引用。”然后马上说我也做不到。
-
引用传递在PHP中有不同的含义,它意味着如果你修改了一个引用传递的变量,原来的会被修改。从这个意义上说,它就像指针,但不一样。我说这不适用于函数,因为你不能修改函数。
标签: php