Я был бы более склонен использовать его в случае, если два действия являются взаимоисключающими и / или противоположными (но связаны друг с другом), например:
$success ? go_up() : go_down();
Для двух несвязанных действий я был бы менее склонен использовать его, потому что существует большая вероятность того, что одна из ветвей будет нуждаться в расширении в будущем. Если это так, вам снова нужно будет переписать его как оператор if-else
. Представь, что у тебя есть:
$success ? do_abc() : do_xyz();
Если в какой-то момент вы решите, что первая ветвь также нуждается в do_def()
, вам нужно будет снова переписать все это в оператор if-else
.
Однако чаще используется троичный оператор:
$var = $success ? UP : DOWN;
Таким образом, вы оцениваете его как выражение, а не как утверждение.