If-else and Switch cases are used to evaluate conditions and decide the flow of a program. The ternary operator is a shortcut operator used for shortening the conditional statements.
ternary operator: The ternary operator (?:) is a conditional operator used to perform a simple comparison or check on a condition having simple statements. It decreases the length of the code performing conditional operations. The order of operation of this operator is from left to right. It is called a ternary operator because it takes three operands- a condition, a result statement for true and a result statement for false. The syntax for the ternary operator is as follows.
(Condition) ? (Statement1) : (Statement2);
- Condition: It is the expression to be evaluated and returns a boolean value.
- Statement 1: It is the statement to be executed if the condition results in a true state.
- Statement 2: It is the statement to be executed if the condition results in a false state.
The result of this comparison can also be assigned to a variable using the assignment operator. The syntax is as follows:
Variable = (Condition) ? (Statement1) : (Statement2);
If the statement executed depending on the condition returns any value, it will be assigned to the variable.
Example 1: In this example, if the value of $a is greater than 15, then 20 will be returned and will be assigned to $b, else 5 will be returned and assigned to $b.
<?php $a = 10; $b = $a > 15 ? 20 : 5; print ( "Value of b is " . $b ); ?> |
Output:
Value of b is 5
Example 2: In this example, if the value of $age is more than or equal to 18, “Adult” is passed to print function and printed, else “Not Adult” is passed and printed.
<?php $age = 20; print ( $age >= 18) ? "Adult" : "Not Adult" ; ?> |
Output:
Adult
When we use ternary operator: We use the ternary operator when we need to simplify the if-else statements that are simply assigning values to variables depending on a condition. An advantage of using a ternary operator is that it reduces the huge if-else block to a single line, improving the code readability and simplify it. Very useful while assigning variables after form submission.
Example:
- Original Code:
<?php
if
(isset(
$_POST
[
'Name'
]))
$name
=
$_POST
[
'Name'
];
else
$name
= null;
if
(isset(
$_POST
[
'Age'
]))
$age
=
$_POST
[
'Age'
];
else
$age
= null;
?>
chevron_rightfilter_none - Reduced to the following: Thus, the ternary operator successfully reduces the if-else block to a single line, hence serving its purpose.
<?php
$name
= isset(
$_POST
[
'Name'
])?
$_POST
[
'Name'
]:null;
$age
= isset(
$_POST
[
'Age'
])?
$_POST
[
'Age'
]:null;
?>
chevron_rightfilter_none