Если Вы, как и я много программируете в php, то я уверен Вас эта находка весьма займет.
Как мы обычно делаем, если надо реализовать такую логику:
if ($a) { $b = $a; } else { $b = $c; }
чтобы не плодить if-else
блоков, мы делаем так
$b = $a ? $a : $c;
Где-то я читал что подобная конструкция не читабельна, но она очень удобна. Я так и пишу, смущает разве повторение оператора $a
. Если это переменная то черт с ней, но если это какой-то метод или функция, то получается два вывода. Что совсем не гуд.
В JS есть удобная конструкция на этот случай
var b = a || c;
Если a
отлично от false
, то в b
будет записано оно, если нет то с
. В php такое не сработает. Там в $b
запишется результат логического сравнения.
Но оказывается в PHP есть аналогичная конструкция
$b = $a ?: $c;
Та дааам! Получите и распишитесь. Кто бы знал.