0

到目前为止,我了解到 PHP 缺少逗号运算符(我不是在这里发表意见,是好是坏)。由于 II 属于此类表达式的模式:

($tmp = bar(), foo($tmp), $tmp)
  1. 执行计算并缓存输出
  2. 使用缓存的值(调用具有给定值的函数)
  3. 返回缓存的值

我可以用调用一个接受值和 lambda 并返回值的自定义函数来替换逗号运算符。

但我想知道——也许 PHP 7 带来了一些新特性,使替换更容易或允许替换所有形式的逗号运算符表达式?

4

1 回答 1

4

不完全是,但从 PHP 7 开始,您可以轻松地同时创建和调用 lambda 函数,这要归功于新的 AST:

(function() { $tmp = bar(); foo($tmp); return $tmp; })();
于 2015-12-22T10:10:21.423 回答