Appearance
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>";
?>注意事项
- 三元运算符可以嵌套使用,但过多嵌套会降低代码可读性
- 合并运算符比三元运算符更简洁,专门用于处理 null 值
- 合并运算符的优先级高于三元运算符
练习
- 使用三元运算符简化条件判断
- 使用合并运算符处理可能为 null 的变量
