如果表达式为true,如何在PHP中设置/覆盖变量而不重复变量名


How to set/overwrite variable if expression is true without repeating variable name in PHP

我以为我以前见过这个,但我在任何地方都找不到。

如果我有一个变量,并且如果条件为true,我想给它分配一个新值,但在其他情况下不使用该变量,有没有一种方法可以做到这一点而不重复变量/原始值?

"漫长的道路"是:

if($condition == TRUE) {
     $og_value = "New Value";
}

或者:

$og_value = ($condition == TRUE) ? "New Value" : $og_value;

但我似乎记得有一个技巧,要么内置在赋值运算符中,要么使用逐位运算符仅在$condition为真的情况下设置$og_value,否则它会短路并使$og_value保持赋值/比较前的状态。

我想您正在寻找:

$condition && $og_value = "New Value";