Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP7是否更容易替换逗号运算符?_Php_Php 7_Comma Operator - Fatal编程技术网

PHP7是否更容易替换逗号运算符?

PHP7是否更容易替换逗号运算符?,php,php-7,comma-operator,Php,Php 7,Comma Operator,到目前为止,我已经了解到PHP缺少逗号运算符(我在这里不是为了发表意见,不管它是好是坏)。因为我陷入了这样的表达模式中: ($tmp = bar(), foo($tmp), $tmp) 执行计算并缓存输出 使用缓存的值(使用给定值调用函数) 返回缓存的值 我可以用调用一个自定义函数来替换逗号运算符,该函数接受value和lambda,并返回值 但我想知道——也许PHP7带来了一些新功能,使替换更容易,或者允许替换所有形式的逗号运算符表达式?不完全如此,但由于PHP7,您可以轻松地同时创建和调用

到目前为止,我已经了解到PHP缺少逗号运算符(我在这里不是为了发表意见,不管它是好是坏)。因为我陷入了这样的表达模式中:

($tmp = bar(), foo($tmp), $tmp)
  • 执行计算并缓存输出
  • 使用缓存的值(使用给定值调用函数)
  • 返回缓存的值
  • 我可以用调用一个自定义函数来替换逗号运算符,该函数接受value和lambda,并返回值


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

    不完全如此,但由于PHP7,您可以轻松地同时创建和调用lambda函数,这要感谢新的AST:

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

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

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

    在早期版本中,这也可以:
    call\u user\u func(function(){..})
    。谢谢,它比我想象的要简洁。在早期版本中,这也可以:
    call\u user\u func(function(){..})
    。谢谢,它比我想象的要简洁。