4

javascriptでは、次のようなことができます

arr.map(function(val) {
    return typeof val == 'array' ? val.map(arguments.callee) : val.doSomething();
});

これは再帰的に繰り返され、各値arrに適用されます。doSomething

PHPのJavaScriptのarguments.calleeに相当するものはありますか?

4

3 に答える 3

5

PHPでJavaScriptのarguments.calleeに相当するものはありますか?

関数をそれ自体に渡す必要があります。

$func = function($a = 0) use (&$func) {
    echo "$a\n";
    if ($a == 1) {
        return;
    }
    $func(1);
};

$func();

/* output:
0
1
*/
于 2012-06-06T19:01:07.283 に答える