如何在PHP中立即执行匿名函数?

2022-08-30 07:28:32

在 JavaScript 中,您可以定义立即执行的匿名函数:

(function () { /* do something */ })()

你能在PHP中做这样的事情吗?


答案 1

对于 PHP 7 之前的版本,我能想到的立即执行它们的唯一方法是

call_user_func(function() { echo 'executed'; });

使用当前版本的PHP,您可以只做

(function() { echo 'executed'; })();

答案 2

In 就是在 javascript 中做同样的事情PHP 7

$gen = (function() {
    yield 1;
    yield 2;

    return 3;
})();

foreach ($gen as $val) {
    echo $val, PHP_EOL;
}

echo $gen->getReturn(), PHP_EOL;

输出为:

1
2
3