What are the PHP operators "?" and ":" called and what do they do?
conditional-operator, conditional-statements, php, syntax
Solution
This is the conditional operator.
$x ? $y : $z
means "if `$x` is true, then use `$y`; otherwise use `$z`".
It also has a short form.
$x ?: $z
means "if `$x` is true, then use `$x`; otherwise use `$z`".
People will tell you that `?:` is "the ternary operator". This is wrong. `?:` is a ternary operator, which means that it has three operands. People wind up thinking its name is "the ternary operator" because it's often the only ternary operator a given language has.
Problem
What are the `?` and `:` operators in PHP? For example: ``` (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) ```