Условный оператор
?: также как и в C является условным оператором. Он работает подобно
if-then-else. Если аргумент перед ? - TRUE, то возвращается аргумент
перед :,
в противоположном случае возвращается аргумент после :.
Скалярный или списковый контекст второго и третьего аргументов передается
по наследству.
($a_or_b ? $a : $b) = $c;