【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语句更加清晰(比如针对文件扩展名的判断之类的)。
在使用时要注意比较的特性并灵活运用!