Как преобразовать это в троичный оператор

Я хочу преобразовать этот код в троичный оператор:

if (isset($a)) {
$arr[$k] += $c;
}
else {
$arr[$k] = $c;
}

Я могу сделать это, если бы это был один оператор, но операторы разные в if а также else,

Как это сделать?

-1

Решение

Возможный алгоритм преобразования в вашем случае (например, школьная алгебра)

  1. Прямое преобразование.

    isset($a) ? ($arr[$k] += $c) : ($arr[$k] = $c);

  2. Взорваться + =

    isset($a) ? ($arr[$k] = $arr[$k] + $c) : ($arr[$k] = $c);

  3. Переместить задание влево

    $arr[$k] = isset($a) ? ($arr[$k] + $c) : ($c);

  4. Переместить $ c

    $arr[$k] = (isset($a) ? $arr[$k] : 0) + $c;

И вариант без троичного (как бонус).

$arr[$k] = $c + isset($a) * $arr[$k];
3

Другие решения

Разве это не просто

$arr[$k] = isset(a$) ? ($arr[$k]+$c) : $c

или эквивалентно:

$arr[$k] = $c + (isset($a) ? $arr[$k] : 0)
4

По вопросам рекламы [email protected]