Home > Article > Backend Development > A simple comparison of ternary operator and Null coalescing operator in PHP
In PHP, the ternary operator (?:) and the Null coalescing operator (??) are used similarly, so what are the differences between them? The following article will introduce you to the ternary operator and the Null coalescing operator. I hope it will be helpful to you.
##Ternary operator
PHP tutorial]
Basic syntax:
(条件)?(声明1):(声明2);In the ternary operator, if the conditional statement is true, then Statement 1 will be executed, otherwise statement 2 will be executed.
Example:
<?php header("content-type:text/html;charset=utf-8"); $num = 21; print($num."是"); print ($num % 2 == 0) ? "偶数" : "奇数"; ?>
Equivalent to:
<?php header("content-type:text/html;charset=utf-8"); $num = 21; if($num % 2 == 0){ echo $num."是偶数"; } else{ echo $num."是奇数"; } ?>Output:
Null coalescing operator
Null coalescing operator is used to check whether a given variable is a null value and returns a non-null value from a custom value pair NULL value. The Null coalescing operator is mainly used to prevent object functions from returning NULL values instead of returning the default optimized values. It is used to avoid exceptions and compiler errors. The execution order is from right to left; when executing, the right operand (non-null) will be used as the return value. If it is null, the left operand will be used as the return value. It helps improve the readability of source code.Basic syntax:
(条件)?(声明1)?(声明2);
Replace with if statement:
// 使用isset()函数 // 注意条件不为空 if ( isset(条件) ) { return 声明1; } else { return 声明2; }
Example:
<?php $num = 10; print ($num) ?? "NULL"; ?>Output:
Difference between ternary operator and Null coalescing operator:
● The ternary operator is left associative; and the Null coalescing operator is right associative. ● The ternary operator checks whether the value is true; and the Null coalescing operator checks whether the value is Null. ● If you want to perform more iterations, the Null coalescing operator is found to be faster than the ternary operator. ● The Null coalescing operator can provide better readability. The above is the entire content of this article, I hope it will be helpful to everyone's study. For more exciting content, you can pay attention to the relevant tutorial columns of the PHP Chinese website! ! !The above is the detailed content of A simple comparison of ternary operator and Null coalescing operator in PHP. For more information, please follow other related articles on the PHP Chinese website!