The main thing about the trinary operator is that, quoting your case above, "a" is a logical expression; where as b and c may be any expressions that return a result compatible with what you are assigning the expression to (or the other way around, if you are assinging to the operator). While most of the examples mentioned are just simeple assignments ($fred = (some_condition)? $bar : $foo), the statement is much more powerful than that.