1.顺序结构
2.分支结构(条件结构、选择结构)
(1)单路分支
//条件bool,ture或false
if(条件){
执行语句;
}
<?php
1 $a=10; 2 $b=50; 3 if ($a<$b) { 4 $t=$a; 5 $a=$b; 6 $b=$t; 7 } 8 var_dump($a > $b);
?>
(2)双路分支
使用else从句
if (条件) {
执行语句;
} else {
执行语句;
}
1 <?php 2 $a=10; 3 $b=20; 4 5 if ($a > $b) { 6 echo "$a 大于 $b<br>"; 7 } else { 8 echo "$a 小于 $b<br>"; 9 } 10 11 ?>
(3)多路分支
可以使用if else if和switch case
//这是一种互斥的关系
if (条件) {
# code...
} else if(条件){
# code...
}else if(条件){
}else{
}
1 <?php 2 $hour=date("H"); 3 4 if($hour > 6 && $hour < 9){ 5 echo "早上好!"; 6 }else if($hour > 9 && $hour < 12){ 7 echo "上午好!"; 8 9 }else if($hour > 12 && $hour <14){ 10 echo "中午好!"; 11 }else if($hour > 14 && $hour < 18){ 12 echo "下午好"; 13 }else{ 14 echo "晚上好!"; 15 }
switch (变量) {
case '值':
# code...
break;
case '值':
# code...
break;
default:
# code...
break;
}
1 <?php 2 $week=date("D");
3 //switch(变量) 变量只能是整型或字符串 4 switch($week){ 5 case 'Mon': 6 echo "星期一"; 7 break; 8 case 'Tue': 9 echo "星期二"; 10 break; 11 case 'Web': 12 echo "星期三"; 13 break; 14 case 'Thu': 15 echo "星期四"; 16 break; 17 case 'Fri': 18 echo "星期五"; 19 break; 20 default: 21 echo "星期天"; 22 break; 23 } 24 ?>
如果是判断一段范围,使用else if
如果是单个值的匹配,使用switch
(4)嵌套分支
if (条件) {
if (条件) {
# code...
} else {
# code...
}
} else {
# code...
}
1 <?php 2 $sex=$_GET["sex"]; 3 $age=$_GET["age"]; 4 if($sex=="nan"){ 5 if($age>=60){ 6 echo "这个男士$sex已经退休".($age-60)."年了<br>"; 7 } 8 else{ 9 echo "这个男士还在工作,还有".(60-$age)."年才退休<br>"; 10 } 11 } 12 else{ 13 if($age>=55){ 14 echo "这个女士$sex已经退休".($age-55)."年了<br>"; 15 } 16 else{ 17 echo "这个女士还在工作,还有".(55-$age)."年才退休<br>"; 18 } 19 } 20 ?>