What are the ?
and :
operators in PHP?
For example:
(($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER)
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.