【问题标题】:Does PHP 7 make easier to substitute comma operator?PHP 7 是否更容易替换逗号运算符?
【发布时间】:2015-12-22 09:52:52
【问题描述】:

到目前为止,我已经了解到 PHP 缺少逗号运算符(我不是在这里为 意见,如果它是好或坏)。自从我陷入这种表达模式:

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

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

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

【问题讨论】:

    标签: php php-7 comma-operator


    【解决方案1】:

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

    (function() { $tmp = bar(); foo($tmp); return $tmp; })();
    

    【讨论】:

    • 在早期版本中也可以这样做:call_user_func(function () { .. }).
    • 谢谢,比我想象的要简洁。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 2013-04-08
    相关资源
    最近更新 更多