【PHP】条件分支

这篇文章是”一人PHP总复习2016年圣诞日历的第7天文章!”
我将简要总结基本的条件分支处理( 厂˙ω˙ )厂。

PHP进行逐行处理所写的内容,而使用条件分支可以按照条件将处理分叉。在PHP中使用if语句和switch语句来实现这种结构。

如果

写作方式 (xiě zuò

if (条件) {
    // 条件がtrueの時実行
} else {
    // 条件がfalseの時実行
}

太简单了!还可以进行多个条件判断。

if (条件1) {
    // 条件1がtrueの時実行
} else if (条件2) {
    // 条件1がfalseで条件2がtrueの時実行
} else {
    // 条件1・条件2がfalseの時実行
}

需要注意的是,条件2只会在条件1为假时进行判断。
如果条件1为真,则if语句的处理将在此处结束,不会达到条件2。

按照从上到下的顺序,编写处理以使优先级逐渐提高。

注意事项

作为常见错误,是指在条件成立时声明一个变量,然后试图在后续操作中对其进行处理的情况。

<?php

if ($score >= 60) {
    $result = 'success!';
}

echo $result;

如果$score的值大于或等于60,那么会按照正常流程进行处理。但是,如果$score的值小于59,$result将不存在并且会导致错误。

为了判断如果条件为真或假,以下是等效的表达方式。

如果($result === true),则{ ・・・ }

如果($result){ ・・・ } (如果结果是真的,执行…)

除非有特殊理由,否则最好不要使用==运算符,因为它不会进行严格的类型匹配。

转化文

写作方式

<?php

switch (対象) {
    case 条件:
        ・・・
        break;
    case 条件:
        ・・・
        break;
    default:
        ・・・
}

需要注意的事项

switch语句的主要特点是使用==进行比较,而不涉及精确的类型比较。

<?php

$age = '18'; // string

if ($age === 18) {
    $result1 = true;
} else {
    $result1 = false;
}

switch ($age) {
    case 18:
        $result2 = true;
        break;
    default:
        $result2 = false;
}

echo $result1; // false;
echo $result2; // true;

在if语句中,由于使用了===进行严格的类型比较,所以返回false;而在switch语句中,将字符串’18’转换为整型进行比较,所以返回true。

总结

如果有多个条件被固定为某个特定值的情况,使用switch语句更加清晰(比如针对文件扩展名的判断之类的)。
在使用时要注意比较的特性并灵活运用!

广告
将在 10 秒后关闭
bannerAds