Skip to content

5.5 三元运算符、合并运算符

PHP提供了一些特殊的运算符,如三元运算符和合并运算符,它们可以简化条件判断代码。

三元运算符

三元运算符是一种简洁的条件判断语法,格式为:

php
条件 ? 值1 : 值2

如果条件为true,返回值1;否则返回值2。

合并运算符

PHP 7+ 引入了合并运算符 ??,用于处理 null 值:

php
$var ?? 默认值

如果 $var 存在且不为 null,返回 $var 的值;否则返回默认值。

示例代码

php
<?php
// 三元运算符示例
$age = 18;
$status = $age >= 18 ? "成年人" : "未成年人";
echo "年龄: $age, 状态: $status<br>";

// 合并运算符示例
$name = "张三";
$nickname = null;

// 传统写法
$displayName = $nickname ? $nickname : $name;
echo "显示名称(传统): $displayName<br>";

// 使用合并运算符
$displayName = $nickname ?? $name;
echo "显示名称(合并运算符): $displayName<br>";

// 多层合并
$userName = null;
$defaultName = "访客";
$finalName = $userName ?? $nickname ?? $defaultName;
echo "最终名称: $finalName<br>";

// 三元运算符的嵌套
$score = 85;
grade = $score >= 90 ? "优秀" : ($score >= 80 ? "良好" : ($score >= 60 ? "及格" : "不及格"));
echo "分数: $score, 等级: $grade<br>";
?>

注意事项

  1. 三元运算符可以嵌套使用,但过多嵌套会降低代码可读性
  2. 合并运算符比三元运算符更简洁,专门用于处理 null 值
  3. 合并运算符的优先级高于三元运算符

练习

  1. 使用三元运算符简化条件判断
  2. 使用合并运算符处理可能为 null 的变量

© 2026 编程马·菜鸟教程 版权所有