Тернарный оператор в php
Совсем недавно открыл для себя сокращенную запись тернарного оператора в php.
Пример стандартной записи:
$a = 0;
$a = empty($a) ? 1 : 2;
var_dump($a);
Выведет: 1
Если, к примеру, надо проверить переменную на пустоту и присвоить собственно её или же совершить какое-то действие стандартным способом получиться следующая запись:
$a = 0;
$a = $a ? $a : 2;
var_dump($a);
Вернет 2.
Сокращенной записью можно сделать
>$a = $a ?: 2;
Удобно использовать при возврате значения из функции:
static $instance = null;
function initBrowser();
return self::$instance ?: self::$instance = new Browser();
$browser = $this->initBrowser();
Вызов функции initBrowser() вернет $instance, если он был определен ранее, или же присвоит ему новое значение и вернет его.