我想将此代码转换为三元运算符:
if (isset($a)) {
$arr[$k] += $c;
}
else {
$arr[$k] = $c;
}
如果它是单个运算符,我可以这样做,但if
和else
中的运算符不同。
怎么做?
答案 0 :(得分:4)
不仅仅是:
$arr[$k] = isset(a$) ? ($arr[$k]+$c) : $c
或等效地:
$arr[$k] = $c + (isset($a) ? $arr[$k] : 0)
答案 1 :(得分:3)
您的案例可能的转换算法(如学校代数)
直接转换。
isset($a) ? ($arr[$k] += $c) : ($arr[$k] = $c);
爆炸+ =
isset($a) ? ($arr[$k] = $arr[$k] + $c) : ($arr[$k] = $c);
将作业移至左侧
$arr[$k] = isset($a) ? ($arr[$k] + $c) : ($c);
移动$ c
$arr[$k] = (isset($a) ? $arr[$k] : 0) + $c;
没有三元的变体(作为奖励)。
$arr[$k] = $c + isset($a) * $arr[$k];