Он не работает на большинстве языков, потому что return - это оператор (например, if, while и т.д.), а не оператор, который может быть вложен в выражение. Следуя той же логике, вы не пытались бы вложить выражение if в выражение:
// invalid because 'if' is a statement, cannot be nested, and yields no result
func(if ($a) $b; else $c;);
// valid because ?: is an operator that yields a result
func($a ? $b : $c);
Он не будет работать и для break и continue.
Ответ 3
Закрыть.
Вам нужно return condition?a:b
Ответ 4
Нет, это невозможно, и это также довольно запутывает по сравнению с: