php條件陳述式if else和switch用法執行個體詳解

來源:互聯網
上載者:User
在php中條件陳述式主要用到if else與if elseif及swicth case之類的語句了,這兩語句是用到最多的。

一、if…else語句

if...else 語句

在條件成立時執行一塊代碼,條件不成立時執行另一塊代碼

文法:

1、簡單條件

if(條件){        ……    }    else{        ……    }
<?phpif (date("D") == "Sat") echo " 提醒你周末了,狂歡去";?>

範例:本例的執行部分有三行,不可省略大括弧。

<?phpif (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$f="/usr/local/lib/php3.ini";if (file_exists($f)) {  echo "以下是 PHP3 的設定檔<p><pre>n";  readfile($f);  echo "</pre>n";} else echo "很抱歉,找不到 $f";?>

第三種就是遞迴的 if..else 迴圈,通常用在多種決策判斷時。它將數個 if..else 拿來合并運用處理。

直接看下面的例子

<?phpif ($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 語句

利用switch實現一個頁面多用途,首先建立test.php頁面:

<?phpecho "<a href='solution.php?action=add'>增加</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值的不同分別賦予它相應的操作。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.