2014-12-09 2 views

ответ

3

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

  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]; 
+1

Я думаю, что это плохая форма для использования тернарных операторов для управления потоком (т. Е. Какой оператор выполнять); лучший стиль, чтобы ограничить их тем, где вы используете их, для выбора того или иного значения и использования его в качестве возвращаемого значения. Если требуется управление потоком, if() {} более читабельна. Но это вопрос стиля и удобочитаемости. – RobP

+0

@RobP, вы правы. Я изменил свой ответ. – sectus

4

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

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

или что то же самое:

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

OK @JayHarris фигу потом;) – RobP

+0

NVM, по какой-то причине, я думал, что он строки обработки. –

Смежные вопросы