在PHP中将函数作为参数传递

时间:2018-03-24 03:33:08

标签: php

我见过有人这样做:

usort($array, function() {
    //...
});

如何使用自己的函数编写类似的实现?例如:

runIt(function() {
     //...
});

runIt的实施:

function runIt() {
    // do something with passed function
}

1 个答案:

答案 0 :(得分:10)

function() {} is called anonymous function,可以使用param名称调用。例如:

function runIt($param) {
    $param();
}
runIt(function() {
    echo "Hello world!";
});

如果您对var-args感兴趣,那么:

function runIt() {
    foreach(func_get_args() as $param) {
        $param();
    }
}
runIt(function() {
    echo "hello world";
});