Если Вы, как и я много программируете в 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;

Та дааам! Получите и распишитесь. Кто бы знал.

Рассказать друзьям
author.jpg

Платная консультация по вопросам 1500 руб/час

Прочитали статью и остались вопросы? Меня зовут Валерий и я её автор. С радостью объясню Вам в скайпе все затруднительные моменты, которые остались за рамками статьи!

Подробнее ...

Добавить комментарий


Защитный код
Обновить