Начиная с PHP7, вы можете использовать Null Coalesce Operator :
Добавляется оператор coalesce, или ??
, который возвращает результат своего первого операндаесли он существует и не равен NULL, или же его второй операнд.
Таким образом, вы можете написать:
$foo = $foo ?? 'bar';
, и он будет использовать $foo
, если он установлен, а неnull или присвойте "bar" $foo
.
В случае sidenote приведенный вами пример с троичным оператором должен действительно выглядеть так:
$foo = isset($foo) ? $foo : 'bar';
Тернарная операция не является сокращением, если/ else управляющая структура, но она должна использоваться для выбора между двумя выражениями в зависимости от третьего, а не для выбора двух предложений или путей исполнения