我一直在想,在PHP中是否可以将函数作为参数传递;我希望在JS中编程时可以这样:
object.exampleMethod(function(){
// some stuff to execute
});
我想要的是在exampleMethod中的某个地方执行这个函数。这在PHP中是可能的吗?
发布于 2010-04-24 00:58:32
如果您使用的是PHP 5.3.0或更高版本,这是可能的。
请参阅手册中的Anonymous Functions。
在您的例子中,您可以这样定义exampleMethod
:
function exampleMethod($anonFunc) {
//execute anonymous function
$anonFunc();
}
发布于 2010-04-24 01:46:00
为了添加其他函数,您可以传递一个函数名:
function someFunc($a)
{
echo $a;
}
function callFunc($name)
{
$name('funky!');
}
callFunc('someFunc');
这将在PHP4中工作。
发布于 2010-04-24 01:01:31
您还可以使用create_function将函数创建为变量并将其传递。不过,我更喜欢anonymous functions的感觉。僵尸来吧。
https://stackoverflow.com/questions/2700433
复制相似问题