三元运算符是PHP中用于简化简单条件赋值的语法,其格式为$变量 = 条件 ? 值1 : 值2;当条件为真时返回值1,否则返回值2,适用于单一条件判断、快速赋值或设置默认值场景,如:$status = ($age >= 18) ? '成年' : '未成年';,可替代基础if-else结构使代码更紧凑。

三元运算符是PHP中一种简洁的条件判断写法,常用来替代简单的 if-else 语句。它适合在条件简单、结果明确的情况下使用,能让代码更紧凑、易读。
三元运算符基本语法
三元运算符的语法结构如下:
$变量 = 条件 ? 值1 : 值2;如果“条件”为真,表达式返回“值1”,否则返回“值2”。
示例:
立即学习“PHP免费学习笔记(深入)”;
$age = 18;$status = ($age >= 18) ? '成年' : '未成年';
echo $status; // 输出:成年
这等价于以下 if-else 写法:
if ($age >= 18) {$status = '成年';
} else {
$status = '未成年';
}
何时用三元替代 if-else
三元运算符适用于以下场景:
- 条件判断简单,只有一层逻辑
- 需要根据条件快速赋值
- 返回值用于输出或变量初始化
例如设置默认值:
$username = isset($_GET['user']) ? $_GET['user'] : 'guest';比写完整的 if 判断更简洁。
嵌套三元与可读性
虽然可以嵌套三元运算符处理多条件,但会降低可读性:
$score = 85;$grade = ($score >= 90) ? 'A' :
($score >= 80) ? 'B' :
($score >= 70) ? 'C' : 'F';
这种写法虽短,但不易理解。复杂逻辑建议仍用 if-else 或 switch 结构。
空合并运算符(??)的补充
PHP 7+ 提供了空合并运算符,专门用于处理 null 或未定义情况,进一步简化常见判断:
$username = $_GET['user'] ?? 'guest';只有当左边操作数为 null 时才取右边值,比三元更安全简洁。
基本上就这些。三元运算符是 if-else 的轻量替代,适合简单赋值场景。合理使用能提升代码效率,但别为了简洁牺牲可读性。











