一:順序結構
二:分支結構(條件結構,選擇結構)
1.單路分支:
//條件:bool,true或false,> < == != & || ! isset()
if(條件)
執行下面一條語句
if(條件)
{
代碼段:
代碼段:
}
例子:
代碼:
$a=10;
$b=5;
if($a > $b)
echo “$a是大於$b的”;
2.雙路分支:
使用else語句
if(條件)
執行一條語句
else
執行一條語句
if(條件){
一條或多條代碼
}else{
一條或多條代碼
}
例子:
代碼:
$a=10;
$b=20;
if($a > $b){
echo “$a大於$b<br>”;
}else{
echo “$a小於$b<br>”;
}
3.多路分支:
可以使用 if else if 和swich case
//這是一種互斥的關系
if(條件){
}elseif(條件){
}elseif(條件){
}elseif(條件){
}else{
}
switch(變量){
case 值:
代碼:
break;
case 值1:
代碼;
break;
default;
}
例子:
代碼:
$hour=date(“H”);
if($hour > 6 && $hour < 9){
echo “早上好”;
}elseif($hour > 9 && $hour < 12){
echo “上午好”;
}elseif($hour > 12 && $hour < 14){
echo “中午好”;
}elseif($hour > 14 && $hour < 17){
echo “下午好”;
}elseif($hour > 17 && $hour < 19){
echo “傍晚好”;
}elseif($hour > 19 && $hour < 22){
echo “晚上好”;
}elseif($hour > 22 && $hour < 24){
echo “深夜好”;
}else{
echo “凌晨好”;
}
以上代碼也可以寫成
$hour=date(“H”); //因為有互斥關系,當執行到正確代碼時,就不會執行下一段代碼。
if($hour < 6){
echo “凌晨好”;
}
if($hour < 9){
echo “早上好”;
}elseif($hour < 12){
echo “上午好”;
}elseif($hour < 14){
echo “中午好”;
}elseif($hour < 17){
echo “下午好”;
}elseif($hour < 19){
echo “傍晚好”;
}elseif($hour < 22){
echo “晚上好”;
}elseif($hour < 24){
echo “深夜好”;
}else{
echo “您好”;
}
例子:
代碼:
$week=date(“D”);
//switch(變量) 這裡的變量只使用整型和字符串
//default 如果變量沒有匹配的值,則執行default中的區域
//break 是退出switch語句,用來設置多個值匹配執行同一段代碼
switch($week){
case “Mon”:
echo “星期一”;
break;
case “Tue”:
echo “星期二”;
break;
case “Wed”:
echo “星期三”;
break;
case “Thu”:
echo “星期四”;
break;
case “Fri”:
echo “星期五”;
break;
default:
echo “周末”;
}
如果是判斷一段范圍我們使用elseif
如果是單個值我們使用switch
4.嵌套分支:
if(){
if(){
}else{
if(){
}else{
}
}
}else{
if(){
}else{
switch(){
}
}
}
例子:
代碼:
$sex=$_GET["sex"];
$age=$_GET["age"];
if($sex=”man”){
if($age >= 60){
echo “這位男士已經退休,他退休”.($age-60).”年了”;
}else{
echo “這位男士還在工作,還有”.(60-$age).”年退休”;
}
}else{
if($age >= 55){
echo “這位女士已經退休了,她退休”.($age-55).”年了”;
}else{
echo “這位女士還在工作,還有”.(55-$age).”年退休”;
}
}
//以上代碼用了GET,所以訪問的話是 ?sex=man&age=33