Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
There are people who actually like programming. I don't understand why they like programming.
I actually hate programming, but I love solving problems.
I don't know how to stop it, there was never any intent to write a programming language [...] I have absolutely no idea how to write a programming language, I just kept adding the next logical step on the way.
value = isCondFirst() ? valueFirst() :
isCondSecond() ? valueSecond() :
isCondThird() ? valueThird() :
valueDefault(); if (isCondFirst()) {
value = valueFirst();
} else if (isCondSecond()) {
value = valueSecond();
} else if (isCondThird()) {
value = valueThird();
} else {
value = valueDefault();
}
$value = isCondFirst() ? valueFirst()
: (
isCondSecond() ? valueSecond()
: (
isCondThird() ? valueThird() : valueDefault()
)
);$value = isCondFirst() ? valueFirst() :(
isCondSecond() ? valueSecond() :(
isCondThird() ? valueThird() :
valueDefault() )); It is recommended that you avoid "stacking" ternary expressions. PHP's behaviour when using more than one ternary operator within a single statement is non-obvious:
if (isCondFirst()) value = valueFirst(); else if (isCondSecond()) value = valueSecond(); else if (isCondThird()) value = valueThird(); else value = valueDefault();
switch(true){
case isCondFirst():
value = valueFirst();
break;
case isCondSecond():
value = valueSecond();
break;
case isCondThird():
value = valueThird();
break;
default:
value = valueDefault()
}
10 + false?1:2Я знаю об этом интересном нюансе довольно давно (…) В общем PHP себя снова показал «с лучшей стороны», но проблема далеко не критическая. Главное — знать про неё и быть осторожным с тернарным оператором в PHP.Прочитайте уже, наконец, мануал по языку.
В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl — интерпретатора скриптов — перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter — «Личная Домашняя Страница / Интерпретатор форм»).
Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.
(
(
cond.first() ?
value.first() :
cond.second()
) ?
value.second() :
cond.third()
) ?
value.third() :
value.default();
a = ?(true,1,?(true,2,?(true,3,?(true,4,5))));


print true ? 1 : true ? 2 : true ? 3 : true ? 4 : 5cond_1() and $a = value1()
or cond_2a() and cond_2b() and $a = value2()
or cond_3() and $a = value3()
or $a = value4();
Порядок выполнения тернарного оператора