Я работаю с устаревшим кодом PHP и вижу много случаев, когда программист делал это:
$foo = ($bar === 'baz') ? true : false;
вместо:
$foo = ($bar === 'baz');
Есть ли когда-нибудь случай условного выражения, когда первый пример не будет функционировать так же, как второй? Есть ли какая-либо общая причина для первого (удобочитаемость, защитное кодирование и т. Д.)?
Они функционально эквивалентны. Читаемость может быть причиной, чтобы написать это первым способом, может быть легче увидеть, что результат будет логическим, но это субъективно.
Других решений пока нет …