Обязательно ли заключать в этот оператор весь оператор троичного оператора в скобках?

1

Например, в следующем утверждении,

$class = (  is_array($tagClasses) ? 'class="'.implode(" ",$tagClasses).'"' : ''  );

является ли крайняя скобка только для удобства чтения или имеет ли она какие-либо другие цели?

Я думаю, что это только для удобства чтения и кодовой эстетики, если у вас нет других вещей в одном и том же утверждении, в котором вам нужно отделить эту часть заявления и диктовать то, что выполняется в первую очередь.

Но я никогда не видел такого утверждения без охватывающей круглой скобки, и думал об этом довольно долгое время. Поэтому этот вопрос.

  • 1
    это для удобства чтения.
  • 0
    Возможный дубликат stackoverflow.com/questions/26389123/…
Показать ещё 3 комментария
Теги:
ternary-operator
parentheses
code-readability
readability

1 ответ

2
Лучший ответ

Первоначальное намерение было читабельнее, я думаю, или, может быть, разработчик просто следовал стандарту кодирования. Хотя обертывание и отступы могли бы облегчить чтение, а не добавлять лишние скобки. Как это для exmaple:

$class = is_array($tagClasses)
    ? 'class="' . implode(" ", $tagClasses) . '"'
    : '';

Когда вы определенно хотите добавить() вокруг тройного оператора, это когда вы вставляете друг друга в другую (что тоже не приятно), или вы можете поместить операнды оператора между() для удобства чтения, если у вас есть сложные выражения там.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню