Z
ZHANK
编程在线教程PHP 教程条件判断 if-else
控制流程

条件判断 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