编程语言
327
在编写代码时,经常会希望为不同的决定执行不同的动作。您可以在代码中使用条件语句来实现这一点。
在 PHP 中,我们可以使用以下条件语句:
- if 语句 - 如果指定条件为真,则执行代码
- if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一段代码
- if...elseif....else 语句 - 根据两个以上的条件执行不同的代码块
- switch 语句 - 选择多个代码块之一来执行
1. if 语句
if 语句用于在指定条件为 true 时执行代码。
if (条件) { 当条件为 true 时执行的代码; }
下例将输出 "Have a great day!",如果当前时间 (HOUR) 小于 18:
<?php $hour = date("H"); if ($hour < "18") { echo "Have a great day!"; } ?>
输出:
Have a great day!
2. if...else 语句
请使用 if...else 语句 在条件为 true 时执行代码 , 在条件为 false 时执行另一段代码
if (条件) { 条件为 true 时执行的代码; } else { 条件为 false 时执行的代码; }
如果当前时间 (HOUR) 小于 18,下例将输出 "Have a great day!",否则输出 "Have a good evening!":
<?php $hour = date("H"); if ($hour < "18") { echo "Have a great day!"; } else { echo "Have a good evening!"; } ?>
输出:
Have a great day! // 或者 Have a good evening!
3. if...elseif....else 语句
请使用 if...elseif...else 语句来 根据两个以上的条件执行不同的代码 。
if (条件) { 条件为 true 时执行的代码; } elseif (其他条件) { 其他条件为 true 时执行的代码; } else { 条件为 false 时执行的代码; }
如果当前时间 (HOUR) 小于 12,下例将输出 "Good morning!",如果当前时间小于 18,则输出 "Good afternoon!"。否则将输出 "Good evening!":
<?php $hour = date("H"); if ($hour < "12") { echo "Good morning!"; } elseif ($hour < "18") { echo "Good afternoon!"; } else { echo "Good evening!"; } ?>
输出:
Good morning! // 或者 Good afternoon! // 或者 Good evening!
4. Switch 语句
使用 switch
语句可以避免冗长的 if..elseif..else
代码块。
switch (expression) { case label1: // expression 等于 label1 时执行的代码; break; case label2: // expression 等于 label2 时执行的代码; break; default: // expression 的值不匹配任何 case 时执行的代码; }
工作原理:
- 计算表达式的值(通常是变量)
- 将表达式的值与各个
case
标签进行比较 - 如果找到匹配项,则执行对应的代码
- 执行完后,
break
语句会阻止程序继续执行后续的case
代码 - 如果没有匹配的
case
,则执行default
部分的代码
<?php $favoriteColor = "blue"; switch ($favoriteColor) { case "red": echo "Your favorite color is red!"; break; case "green": echo "Your favorite color is green!"; break; case "blue": echo "Your favorite color is blue!"; break; default: echo "Your favorite color is not red, green, or blue!"; } ?>
结果:
Your favorite color is blue!