我们可以级联+;=php中的运算符?
这是我的我们可以级联+;=php中的运算符?,php,Php,这是我的 $foo += $a $bar += $a $baz += $a $abc += $a 这是我要找的东西 $foo += $bar += $baz += $abc += $a 有没有办法做到这一点,或者我必须使用多行版本?您必须分别增加$foo、$bar、$baz和$abc。有点老套,但它可以: array_map(create_function('&$x', '$x += '.$a.';'), array(&$foo, &$bar, &$baz,
$foo += $a
$bar += $a
$baz += $a
$abc += $a
这是我要找的东西
$foo += $bar += $baz += $abc += $a
有没有办法做到这一点,或者我必须使用多行版本?您必须分别增加
$foo
、$bar
、$baz
和$abc
。有点老套,但它可以:
array_map(create_function('&$x', '$x += '.$a.';'), array(&$foo, &$bar, &$baz, &$abc));
这感觉像是一个愚蠢的答案,但如果你真的想保持一行,为了空间,你可以这样做:
$foo+=$a;$bar+=$a;$baz+=$a;$abc+=$a;
不确定这在您的程序中可读性如何,但它实际上与您最初的提案没有太大区别。否则,我认为您唯一的选择是涉及
数组
和/或循环
,以及更多不必要的复杂性。那么,没有办法让它成为一个单行程序吗?烂透了。首先,我不喜欢这个部分,但这是程序中的一个必要的缺点。实际上,我认为这在资源方面是非常糟糕的(相对而言),因为它会多次分支到不同的函数范围。当我想到这个问题时,我想到了一个更优雅的解决方案:Sphere是另一个,当然对代码的可读性没有帮助:$foo+=($bar+=($baz+=($abc+=$a)-$abc+$a)-$baz+$a)-$bar+$a代码>;)更严肃的一点是:我不认为你可以提高代码的性能,除非对你的变量(例如,你可以依赖的依赖/比率或其他)有一定的假设。lol来自一行,我是说编译器的一行。对于php解释器,这仍然是4行。但是我同意,没有必要通过使用数组和循环等使它变得更复杂。哈哈,这对编译没有任何影响!