PHP | Ternary Operator

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.



filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
$a = 10;
$b = $a > 15 ? 20 : 5;
print ("Value of b is " . $b);
?>

chevron_right


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.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
$age = 20;
print ($age >= 18) ? "Adult" : "Not Adult";
?>

chevron_right


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:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php
    if(isset($_POST['Name']))
        $name = $_POST['Name'];
    else
        $name = null;
      
    if(isset($_POST['Age']))
        $age = $_POST['Age'];
    else
        $age = null;
    ?>

    chevron_right

    
    

  • Reduced to the following: Thus, the ternary operator successfully reduces the if-else block to a single line, hence serving its purpose.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php
    $name = isset($_POST['Name'])?$_POST['Name']:null; 
    $age = isset($_POST['Age'])?$_POST['Age']:null; 
    ?>

    chevron_right

    
    




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.