Я думал, что видел это раньше, но нигде не нахожу.
Если у меня есть переменная, и я хочу присвоить ей новое значение, если условие истинно, но в противном случае оставить переменную в покое, есть ли способ сделать это без повторения значения переменной / оригинала?
"Длинные пути" будут:
if($condition == TRUE) {
$og_value = "New Value";
}
Или:
$og_value = ($condition == TRUE) ? "New Value" : $og_value;
Но, похоже, я помню, что есть хитрость, либо встроенная в операторы присваивания, либо использование побитовых операторов для установки $og_value
только в том случае, если $condition
истинно, в противном случае оно замыкается и оставляет $og_value
, как это было до присваивания /comparison.