PHP ternary operator
The ternary operator is another conditional operator, but it is worth putting it separately. It performs a similar action to if else.
Sintaxis(expr1) ? (expr2) : (expr3)
Note that all are expressions, both expr1, expr2, and expr3. With the ternary operator, if expression 1 is true, expression 2 will be evaluated; otherwise, expression 3 will be evaluated.
The best way to understand the operator is through examples. For example, in the following code, I check if the message arrives:
check if the message arrives<?php $message=("hello")?"yes":"no"; echo $message; ?>
yes
Nesting
A question we may ask ourselves about this operator is whether nesting can be done inside it, in other words, if we can put a ternary operator inside another one. The answer is yes, it is an expression, and therefore, we can put it inside any place where an expression is expected.
Nesting example<?php $stock = 0; $b=("no-stock")?($stock==0)?"no stock":"not-defined":"not-price"; echo $b; ?>
no stock
Elvis operator
You may also see this operator as follows, the name of the Elvis operator comes from the fact that the operator looks like Elvis Presley’s hair:
Sintaxis(expr1) ?: (expr3)
This expression is equivalent to writing (expr1) ? (expr1) : (expr3).
Elvis operator example<?php $b=("no-stock")?:"not-price"; echo $b; ?>
no-stock