Где я могу прочитать об условных выражениях с «?» И «:» (двоеточие)?

Возможный дубликат:
Ссылка. Что означает этот символ в PHP?

Я выполнял условные условия с if / else или через год или около того. Рассматривая какой-то новый код, я вижу условное выражение, которое, как представляется, используется ? и : вместо if и else. Я хотел бы узнать больше об этом, но я не уверен, что делать в Google, чтобы найти статьи, объясняющие, как это работает. Как мне это сделать?

Это Тернарный оператор .

Основное использование – это что-то вроде

 $foo = (if this expressions returns true) ? (assign this value to $foo) : (otherwise, assign this value to $foo) 

Его можно использовать для более чем назначения, но похоже, что другие примеры появляются ниже.

Я думаю, что причина, по которой вы видите это во множестве современных, OO-стиле PHP, заключается в том, что без статической типизации вам нужно быть параноидальным в отношении типов в любой конкретной переменной, а однострочный тернар менее загроможден, чем 7 строк, если / еще условно.

Кроме того, в знак уважения к комментариям и истине в именовании читайте все о тройном операторе в области информатики.

Это был бы условный оператор. Это почти одна строка, если / then / else:

 if(someCondition){ $x = doSomething(); } else{ $x = doSomethingElse(); } 

становится:

 $x = someCondition ? doSomething() : doSomethingElse(); 

Это:

состояние ? do_if_true: do_if_false

Итак, например, в приведенном ниже примере будет выполняться do-> something ().

 $true = 1; $false = 0 $true ? $do->something() : $do->nothing(); 

Но в приведенном ниже примере do-> nothing () будет запущен.

 $false ? $do->something() : $do->nothing(); 

Это тернарный оператор в PHP. Это сокращение для if / else, формат:

 condition ? true expression : false expression;