📜  PHP的三元运算符与空合并运算符

📅  最后修改于: 2022-05-13 01:54:11.657000             🧑  作者: Mango

PHP的三元运算符与空合并运算符

三元运算符

三元运算符是条件运算符,有助于在执行比较和条件时减少编码中的行数。它是使用 if else 和嵌套 if else 语句的另一种方法。执行顺序是从左到右。这绝对是节省时间的最佳选择。它确实会在遇到带有条件的空值时产生电子通知。

句法:

(Condition) ? (Statement1) : (Statement2);

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

条件运算的替代方法:



if (Condition) {
    return Statement1;
} else {
    return Statement2;
}

例子:


输出:
Odd Number

空合并运算符

Null 合并运算符用于检查给定变量是否为空,并从一对自定义值中返回非空值。 Null Coalescing运算符主要用于避免对象函数返回 NULL 值而不是返回默认的优化值。它用于避免异常和编译器错误,因为它在执行时不会产生 E-Notice。执行顺序是从右到左。执行时,不为空的右侧操作数将是返回值,如果为空,则左侧操作数将是返回值。它有助于提高源代码的可读性。

句法:

(Condition) ? (Statement1) ? (Statement2);

条件运算的替代方法:

// The isset() function is used to take
// care that the condition is not NULL
if ( isset(Condition) ) {   
    return Statement1;
} else {
    return Statemnet2;
}

例子:


输出:
10

三元运算符和空合并运算符的区别:

  • 三元运算符是左结合的,而空合并运算符是右结合的。
  • 如果左操作数为空,则三元运算符会抛出电子通知,而如果左操作数不存在,则空合并运算符不会抛出电子通知。
  • 三元运算符检查值是否为真,但空合并运算符检查值是否不为空。
  • 如果要执行更多迭代,则发现空合并运算符比三元运算符更快。
  • 空合并运算符提供了更好的可读性。