我们可以级联+;=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行。但是我同意,没有必要通过使用数组和循环等使它变得更复杂。哈哈,这对编译没有任何影响!