Как я использую условный оператор?

Ошибка синтаксиса: ошибка синтаксиса, неожиданный T_XXX

Случается, когда в неожиданном месте есть T_XXX токен , несбалансированные (лишние) круглые скобки, использование короткого тега без его активации в php.ini и т. д.

Вопросы, относящиеся:

Для получения дополнительной помощи см .:

  • http://phpcodechecker.com/ - что дает более полезные объяснения ваших синтаксических проблем.

34
задан Robinicks 6 May 2010 в 17:45
поделиться

5 ответов

Это работает как это:

(condition) ? true-clause : false-clause

Это обычно используется в операциях присвоения, хотя это имеет другое использование также. Тернарный оператор ? является способом сократить если-выражение-else и также назван непосредственным - если оператор на других языках (IIf(condition,true-clause,false-clause) в VB, например).

, Например:

bool Three = SOME_VALUE;
int x = Three ? 3 : 0;

совпадает с

bool Three = SOME_VALUE;
int x;
if (Three)
    x = 3;
else
    x = 0;
60
ответ дан lc. 27 November 2019 в 16:24
поделиться

Это работает как это:

expression ? trueValue : falseValue

то, Которое в основном означает, что, если expression оценивает к истинному, trueValue будет возвращен или выполнен, и falseValue, будет возвращено или оценено если нет.

Помнят, что trueValue и falseValue будут только оценены и выполнены, если выражение будет TRUE или FALSE, соответственно. Это поведение называют, срывая.

12
ответ дан magcius 27 November 2019 в 16:24
поделиться

В C++ там является не фактическим если часть этого. Это назвало тернарный оператор. Это используется как это: < булевская переменная statement>? < закончитесь если true>: < закончитесь если false>; Поскольку Ваш пример выше его был бы похож на это:

C = A > B ? A : B;

Эта статья о Википедии также обсуждает его: http://en.wikipedia.org/wiki/Ternary_operation

4
ответ дан Mykroft 27 November 2019 в 16:24
поделиться

Я предполагаю, что Вы имеете в виду материал как = b? c: d, где b является условием, c является значением, когда b верен, и d является значением, когда b является ложью.

2
ответ дан edef 27 November 2019 в 16:24
поделиться

Я бы сказал? это короткий путь. Однако некоторые «заядлые» программисты, как правило, говорят, что нужно писать как можно дальше, чтобы в будущем люди могли легко читать и изменять код.

Например, если вы напишете

int a = b<c ? b : c;

Некоторые люди утверждают, что проще написать:

if(b<c)
 a = b;
else
 a = c;

Потому что в будущем люди могут это поймать. Конечно, простой b

1
ответ дан 27 November 2019 в 16:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: