条件判断 if-else
if/elseif/else、switch/match(PHP8)、三元运算符
条件判断 if-else
PHP 的条件判断和 C 类似,但多了 match 表达式(PHP 8.0)和丰富的真值判断。
学完本章你将: 掌握 if/elseif/else、switch/match、三元运算符。
if / elseif / else
php
<?php
$score = 85;
if ($score >= 90) {
echo "优秀";
} elseif ($score >= 80) {
echo "良好"; // 输出这句
} elseif ($score >= 60) {
echo "及格";
} else {
echo "不及格";
}
switch / match
php
<?php
$day = 3;
// switch(和 C 一样,需要 break)
switch ($day) {
case 1: echo "周一"; break;
case 2: echo "周二"; break;
default: echo "其他";
}
// match(PHP 8.0+)—— 更简洁安全
echo match($day) {
1 => "周一",
2 => "周二",
3 => "周三",
default => "其他",
};
// match 是表达式(可返回值),严格比较(===),无需 break
PHP 的真值判断
php
<?php
// 以下被视为 false(称为 falsy):
false, 0, 0.0, "", "0", [], null
// 其余都是 true
if ("false") { } // true——非空字符串
if (-1) { } // true
if (["a"]) { } // true
// 安全判断
if (empty($var)) { } // 不存在或 falsy
if (isset($var)) { } // 存在且不为 null