PHP 7 是否更容易替代逗号运算符?
Does PHP 7 make easier to substitute comma operator?
到目前为止,我了解到 PHP 缺少逗号运算符(我在这里不是为了 意见 是好是坏)。因为我陷入了这样的表达模式:
($tmp = bar(), foo($tmp), $tmp)
- 执行计算并缓存输出
- 使用缓存值(调用给定值的函数)
- return缓存值
我可以用调用接受值和 lambda 的自定义函数替换逗号运算符,returns 值。
但我想知道 -- 也许 PHP 7 带来了一些使替换更容易或允许替换所有形式的逗号运算符表达式的新功能?
不完全是,但是从 PHP 7 开始,您可以轻松地同时创建和调用 lambda 函数,这要归功于新的 AST:
(function() { $tmp = bar(); foo($tmp); return $tmp; })();
到目前为止,我了解到 PHP 缺少逗号运算符(我在这里不是为了 意见 是好是坏)。因为我陷入了这样的表达模式:
($tmp = bar(), foo($tmp), $tmp)
- 执行计算并缓存输出
- 使用缓存值(调用给定值的函数)
- return缓存值
我可以用调用接受值和 lambda 的自定义函数替换逗号运算符,returns 值。
但我想知道 -- 也许 PHP 7 带来了一些使替换更容易或允许替换所有形式的逗号运算符表达式的新功能?
不完全是,但是从 PHP 7 开始,您可以轻松地同时创建和调用 lambda 函数,这要归功于新的 AST:
(function() { $tmp = bar(); foo($tmp); return $tmp; })();