一、if…else語句
if...else 語句
在條件成立時執行一塊代碼,條件不成立時執行另一塊代碼
語法:
1、簡單條件
if(條件){
……
}
else{
……
}
例
代碼如下 復制代碼<?php
if (date("D") == "Sat") echo " http://www.111cn.net提醒你周末了,狂歡去";
?>
范例:本例的執行部分有三行,不可省略大括號。
代碼如下 復制代碼<?php
if (file_exists("/usr/local/lib/php3.ini")) {
echo "以下是 PHP3 的配置文件<p><pre>n";
readfile("/usr/local/lib/php3.ini");
echo "</pre>n";
}
?>
2、復雜條件
elseif 語句
與 if...else 配合使用,在若干條件之一成立時執行一個代碼塊
if(條件){
……
}
elseif(條件){
……
}
else{
……
}
例
范例:上面的例子來修改成更完整的處理。其中的 else 由於只有一行執行的指令,因此不用加上大括號。
代碼如下 復制代碼 <?php--------------------------------------------------------------------------------
第三種就是遞歸的 if..else 循環,通常用在多種決策判斷時。它將數個 if..else 拿來合並運用處理。
直接看下面的例子
代碼如下 復制代碼<?php
if ($a > $b) {
echo "a 比 b 大";
} elseif ($a == $b) {
echo "a 等於 b";
} else {
echo "a 比 b 小";
}
?>
上例只用二層的 if..else 循環,用來比較 a 和 b 兩個變量。實際要使用這種遞歸 if..else 循環時,請小心使用,因為太多層的循環容易使設計的邏輯出問題,或者少打了大括號等,都會造成程序出現莫名其妙的問題
二、Switch語句
1 語法:
switch(表達式){
case 值1:
語句
break;
case 值2:
語句
break;
default:
沒有匹配的值時執行的語句
}
工作原理:
1.對表達式(通常是變量)進行一次計算
2.把表達式的值與結構中 case 的值進行比較
3.如果存在匹配,則執行與 case 關聯的代碼
4.代碼執行後,break 語句阻止代碼跳入下一個 case 中繼續執行
5.如果沒有 case 為真,則使用 default 語句
例
代碼如下 復制代碼<?php
switch ($d=date("D"))
{
case "Mon";
echo "周一";
break;
case "Tue";
echo "周二";
break;
case "Wed";
echo "周三";
break;
case "Thu";
echo "周四";
break;
case "Fir";
echo "周五";
break;
case "Sat";
echo "周六";
break;
case "Sun";
echo "周日";
break;
}
?>
另外一個實例,利用switch實現一個頁面多用途,首先建立test.php頁面:
代碼如下 復制代碼<?php
echo "<a href='solution.php?action=add'>增加www.111cn.net</a><br><br>";
echo "<a href='solution.php?action=del'>刪除</a><br><br>";
echo "<a href='solution.php?action=search'>查找</a><br><br>";
echo "<a href='solution.php?action=update'>更新</a>";
?>
接著,讓我們看看solution.php是如何處理這四種操作的。
代碼如下 復制代碼<?php
$action=$_GET["action"];
switch ($action)
{
case "add":
echo "現在可以實現增加功能!";
break;
case "del":
echo "現在可以實現刪除功能!";
break;
case "search":
echo "現在可以實現查詢功能!";
break;
case "update":
echo "現在可以實現更新功能!";
break;
}
?>
很簡單,我們首先接收到action的值,運用switch語句根據action值的不同分別賦予它相應的操作。怎麼樣,是不是比大家想象中要簡單很多?