PHP 面试题 目录

PHP 中 ?? 和 ?: 运算符的作用是什么?

推荐答案

在 PHP 中,???: 是两个不同的运算符,分别用于处理不同的场景。

  • ?? 是空合并运算符,用于检查变量是否为 null,如果是 null,则返回指定的默认值。
  • ?: 是三元运算符的简写形式,用于根据条件返回两个表达式中的一个。

本题详细解读

?? 空合并运算符

?? 运算符用于检查一个变量是否为 null。如果变量为 null,则返回指定的默认值;否则返回变量的值。

语法:

示例:

在这个例子中,如果 $_GET['username'] 存在且不为 null,则 $username 将被赋值为 $_GET['username'] 的值;否则,$username 将被赋值为 'Guest'

?: 三元运算符

?: 是三元运算符的简写形式,用于根据条件返回两个表达式中的一个。

语法:

示例:

在这个例子中,如果 $isLoggedIntrue,则 $status 将被赋值为 'Logged In';否则,$status 将被赋值为 'Logged Out'

区别

  • ?? 主要用于处理 null 值,而 ?: 用于处理布尔条件。
  • ?? 是 PHP 7 引入的新特性,而 ?: 在早期版本的 PHP 中就已经存在。

使用场景

  • 使用 ?? 当你需要检查一个变量是否为 null 并提供默认值时。
  • 使用 ?: 当你需要根据布尔条件选择两个不同的值时。
纠错
反馈