[心得] 十天學會 PHP 的第二天

看板PHP作者 ( )時間19年前 (2005/12/24 21:52), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
繼續昨天的 十天學會PHP的第二天內容 小弟本身也是PHP 的新手,所以若是有說錯的地方,請前輩多多指教 討論URL: http://uniorg.net/viewthread.php?tid=17033&j2pid=144770&page=1 學習目的:掌握php的流程控制 1、if..else 循環有三種結構 第一種是只有用到 if 條件,當作單純的判斷。解釋成 "若發生了某事則怎樣處理"。 語法如下: if (expr) { statement } 其中的 expr 為判斷的條件,通常都是用邏輯運算符號當判斷的條件。而 statement 為符合條件的執行部分程式,若程式只有一行,可以省略大括號 {}。 範例:本例省略大括號。 <?php if ($state==1)echo "哈哈" ; ?> 這裡特別注意的是,判斷是否相等是==而不是=,ASP程式員可能常犯這個錯誤, = 是賦值。 範例:本例的執行部分有三行,不可省略大括號。 <?php if ($state==1) { echo "哈哈 ; echo "<br>" ; } ?> 第兩種是除了 if 之外,加上了 else 的條件,可解釋成 "若發生了某事則怎樣處理 ,否則該如何解決"。語法如下: if (expr) { statement1 } else { statement2 } 範例:上面的例子來修改成更完整 的處理。其中的 else 由於只有一行執行的指令,因此不用加上大括號。 <?php if ($state==1) { echo "哈哈" ; echo "<br>"; } else{ echo "呵呵"; echo "<br>"; } ?> 第三種就是遞歸的 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 循環時,請小心使用,因為太多層的循環容易使設計的邏輯出問題,或是 少打了大括號等,都會造成程式出現莫名其妙的問題。 2、 for 循環就單純只有一種,沒有變化,它的語法如下 for (expr1; expr2; expr3) { statement } 其中的 expr1 為條件的起始值。 expr2 為判斷的條件,通常都是用邏輯運算符號 (logical operators) 當判斷的條件。 expr3 為執行 statement 後要執行的部份,用來改變條件,供下次的循環判斷 ,如加一..等等。 而 statement 為符合條件的執行部分程式,若程式只有一行,可以省略大括號 {}。 下例是用 for 循環寫的的例子。 <?php for ( $i = 1 ; $i <= 10 ; $i ++) { echo "這是第".$i."次循環<br>" ; } ?> 3、 switch 循環,通常處理複合式的條件判斷,每個子條件,都是 case 指令部分。 在實作上若使用許多類似的 if 指令,可以將它綜合成 switch 循環。 語法如下 switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; } 其中的 expr 條件,通常為變量名稱。而 case 後的 exprN,通常表示變量值。 冒號後則為符合該條件要執行的部分。注意要用 break 跳離循環。 <?php switch ( date ( "D" )) { case "Mon" : echo "今天星期一" ; break; case "Tue" : echo "今天星期二" ; break; case "Wed" : echo "今天星期三" ; break; case "Thu" : echo "今天星期四" ; break; case "Fri" : echo "今天星期五" ; break; default: echo "今天放假" ; break; } ?> 這裡需要注意的是break;別遺漏了,default,省略是可以的。 很明顯的,上述的例子用 if 循環就很麻煩了。當然在設計時, 要將出現機率最大的條件放在最前面,最少出現的條件放在最後面, 可以增加程式的執行效率。上例由於每天出現的機率相同,所以不用注意條件的順序。 今天就說到這裡,明天開始說資料庫的使用。 -- 討論是你我教學相長的機會 UO-小築 http://uniorg.net/ 讓我們一同喜愛這討論空間 喜歡他的話 別忘了推薦給大家... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.73.23.148
文章代碼(AID): #13hLAWAS (PHP)
文章代碼(AID): #13hLAWAS (PHP)