PHP 如何在匿名函数中访问函数的参数


PHP How to access argument of function inside anonymous function?

我需要访问匿名函数中作为第二个参数传递给所述函数的函数的第一个参数。例如:

<?php
function a($arg, $func) {
    echo $func();
}
a("argument 1", function () use($arg) {return $arg;});
?>

以上将返回以下错误:

Notice: Undefined variable: arg in path/to/file.php on line 5

虽然期望的结果是:

argument 1

尝试以下解决方案:

function a($arg, $func) {
    echo $func($arg);
}
a("argument 1", function ($arg) {return $arg;});

输出

argument 1

有关更多详细信息,请查看 http://php.net/manual/en/functions.anonymous.php