Оператор "Guard", такой как JavaScript в PHP

Мне нравится делать это в JavaScript:

function (a, b, c) {
    var foo = a || b || c;
    return foo.bar;
}

Есть ли быстрый способ сделать присваивание с резервным доступом или ему нужна пользовательская function?

Ответ 1

PHP 5.3 вводит оператор ?: (Не путать с тернарной условной, фигурой go). Я не использую PHP, но я думаю, что это будет что-то вроде:

 $foo = $a ?: $b ?: $c

См.: http://php.net/manual/en/language.operators.comparison.php

Начиная с PHP 5.3, можно исключить среднюю часть тернарного оператора. Expression expr1?: Expr3 возвращает expr1, если expr1 имеет значение TRUE и expr3 в противном случае.

Счастливое кодирование.