Rumah > pembangunan bahagian belakang > tutorial php > PHP中三元运算符和Null合并运算符的简单比较

PHP中三元运算符和Null合并运算符的简单比较

青灯夜游
Lepaskan: 2023-04-05 06:30:01
asal
3513 orang telah melayarinya

在PHP中,三元运算符(?:)和Null合并运算符(??)的用法相似,那么它们之间有什么差异?下面本篇文章就来带大家了解一下三元运算符和Null合并运算符,希望对大家有所帮助。

PHP中三元运算符和Null合并运算符的简单比较

三元运算符

三元运算符是条件运算符,它有助于在执行比较和条件时减少编码中的行数。它是使用if else和嵌套if else语句的另一种方法,执行顺序是从左到右;它绝对是最好的节省时间的选项。【视频教程推荐:PHP教程

基本语法:

(条件)?(声明1):(声明2);
Salin selepas log masuk

在三元运算符中,如果条件语句为true,则声明1将执行,否则声明2将执行。

示例:

<?php 
header("content-type:text/html;charset=utf-8");  
$num = 21; 
print($num."是");
print ($num % 2 == 0) ? "偶数" : "奇数"; 
?>
Salin selepas log masuk

相当于:

<?php 
header("content-type:text/html;charset=utf-8");  
$num = 21; 
if($num % 2 == 0){
echo $num."是偶数";
}
else{
echo $num."是奇数";
}
?>
Salin selepas log masuk

输出:

2.jpg

Null合并运算符

Null合并运算符是用于检查给定变量是否为null值,并从自定义值对返回非空值。Null合并运算符主要用于避免对象函数返回NULL值,而不是返回默认的优化值。它用于避免异常和编译器错误。

执行顺序是从右到左;执行时,右侧操作数(非空)将作为返回值,如果为null,则左侧操作数将作为返回值。它有助于提高源代码的可读性。

基本语法:

(条件)?(声明1)?(声明2);
Salin selepas log masuk

替换成if语句:

// 使用isset()函数
// 注意条件不为空
if ( isset(条件) ) {   
    return 声明1;
} else {
    return 声明2;
}
Salin selepas log masuk

示例:

<?php
$num = 10; 
print ($num) ?? "NULL"; 
?>
Salin selepas log masuk

输出:

3.jpg

三元运算符和Null合并运算符之间的区别:

 ●  三元运算符是左关联的;而,Null合并运算符是右关联的。

 ●  三元运算符检查值是否为true;而,Null合并运算符检查该值是否为Null。

 ●  如果要执行更多迭代,则发现Null合并运算符比三元运算符更快。

 ●  Null合并运算符可以提供更好的可读性。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

Atas ialah kandungan terperinci PHP中三元运算符和Null合并运算符的简单比较. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan