Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the PHP operators "?" and ":" called and what do they do?

What are the ? and : operators in PHP?

For example:

(($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) 
like image 829
seb Avatar asked Jul 03 '09 17:07

seb


People also ask

What are the different PHP logical operators?

The standard logical operators and, or, not, and xor are supported by PHP. Logical operators first convert their operands to boolean values and then perform the respective comparison.


1 Answers

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.

like image 169
chaos Avatar answered Sep 26 '22 14:09

chaos