PHP Conditional Assignment Operators: Efficient Variable Assignments

Rumman Ansari   Software Engineer   2024-07-09 10:11:37   5856  Share
Subject Syllabus DetailsSubject Details
☰ TContent
☰Fullscreen

The PHP conditional assignment operators are used to set a value depending on conditions:

Operator Name Example Result
?: Ternary $x = expr1 ? expr2 : expr3 Returns the value of $x.
The value of $x is expr2 if expr1 = TRUE.
The value of $x is expr3 if expr1 = FALSE
?? Null coalescing $x = expr1 ?? expr2 Returns the value of $x.
The value of $x is expr1 if expr1 exists, and is not NULL.
If expr1 does not exist, or is NULL, the value of $x is expr2.
Introduced in PHP 7

Example: ?: Ternary

Code:

<span class="pln">
</span><span class="dec">&lt;!DOCTYPE html&gt;</span><span class="pln">
</span><span class="tag">&lt;html&gt;</span><span class="pln">
</span><span class="tag">&lt;body&gt;</span><span class="pln">

</span><span class="pun">&lt;?</span><span class="pln">php
   </span><span class="com">// if empty($user) = TRUE, set $status = "unknown"</span><span class="pln">
   echo $status </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$user</span><span class="pun">))</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">"unknown"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"logged in"</span><span class="pun">;</span><span class="pln">
   echo</span><span class="pun">(</span><span class="str">"&lt;br&gt;"</span><span class="pun">);</span><span class="pln">

   $user </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Rambo Azmi"</span><span class="pun">;</span><span class="pln">
   </span><span class="com">// if empty($user) = FALSE, set $status = "logged in"</span><span class="pln">
   echo $status </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$user</span><span class="pun">))</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">"unknown"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"logged in"</span><span class="pun">;</span><span class="pln">
</span><span class="pun">?&gt;</span><span class="pln">  

</span><span class="tag">&lt;/body&gt;</span><span class="pln">
</span><span class="tag">&lt;/html&gt;</span><span class="pln">

</span>

Output:

The above code will produce the following result-

<span class="pln">
unknown
logged </span><span class="kwd">in</span><span class="pln">
</span>

Example:

Code:

<span class="pln">
</span><span class="dec">&lt;!DOCTYPE html&gt;</span><span class="pln">
</span><span class="tag">&lt;html&gt;</span><span class="pln">
</span><span class="tag">&lt;body&gt;</span><span class="pln">

</span><span class="pun">&lt;?</span><span class="pln">php
   </span><span class="com">// if empty($user) = TRUE, set $status = "unknown"</span><span class="pln">
   echo $status </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$user</span><span class="pun">))</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">"unknown"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"logged in"</span><span class="pun">;</span><span class="pln">
   echo</span><span class="pun">(</span><span class="str">"&lt;br&gt;"</span><span class="pun">);</span><span class="pln">

   $user </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Rambo Azmi"</span><span class="pun">;</span><span class="pln">
   </span><span class="com">// if empty($user) = FALSE, set $status = "logged in"</span><span class="pln">
   echo $status </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$user</span><span class="pun">))</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">"unknown"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"logged in"</span><span class="pun">;</span><span class="pln">
</span><span class="pun">?&gt;</span><span class="pln">  

</span><span class="tag">&lt;/body&gt;</span><span class="pln">
</span><span class="tag">&lt;/html&gt;</span><span class="pln">

</span>

Output:

The above code will produce the following result-

<span class="pln">
unknown
logged </span><span class="kwd">in</span><span class="pln">
</span>

No Questions Data Available.
No Program Data.

Stay Ahead of the Curve! Check out these trending topics and sharpen your skills.