十天學會php之第二天

2022-03-23 02:41:25 字數 1692 閱讀 6220

學習目的:掌握php的流程控制

1、if..else 迴圈有三種結構

第一種是只有用到 if 條件,當作單純的判斷。解釋成 "若發生了某事則怎樣處理"。語法如下:

if (expr)

其中的 expr 為判斷的條件,通常都是用邏輯運算符號當判斷的條件。而 statement 為符合條件的執行部分程式,若程式只有一行,可以省略大括號 {}。

範例:本例省略大括號。

<?php

if ($state==1)echo "哈哈" ;

?>

這裡特別注意的是,判斷是否相等是==而不是=,asp程式設計師可能常犯這個錯誤,= 是賦值。

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

<?php

if ($state==1)

?>

第兩種是除了 if 之外,加上了 else 的條件,可解釋成 "若發生了某事則怎樣處理,否則該如何解決"。語法如下

if (expr) else 範例:上面的例子來修改成更完整的處理。其中的 else 由於只有一行執行的指令,因此不用加上大括號。

<?php

if ($state==1)

else

?>

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

直接看下面的例子

<?php

if ( $a > $b ) elseif ( $a == $b ) else

?>

上例只用二層的 if..else 迴圈,用來比較 a 和 b 兩個變數。實際要使用這種遞迴 if..else 迴圈時,請小心使用,因為太多層的迴圈容易使設計的邏輯出問題,或者少打了大括號等,都會造成程式出現莫名其妙的問題。

2、 for 迴圈就單純只有一種,沒有變化,它的語法如下

for (expr1; expr2; expr3)

其中的 expr1 為條件的初始值。expr2 為判斷的條件,通常都是用邏輯運算符號 (logical operators) 當判斷的條件。expr3 為執行 statement 後要執行的部份,用來改變條件,供下次的迴圈判斷,如加一..等等。而 statement 為符合條件的執行部分程式,若程式只有一行,可以省略大括號 {}。

下例是用 for 迴圈寫的的例子。

<?php

for ( $i = 1 ; $i <= 10 ; $i ++)

?>

3、 switch 迴圈,通常處理複合式的條件判斷,每個子條件,都是 case 指令部分。在實作上若使用許多類似的 if 指令,可以將它綜合成 switch 迴圈。

語法如下

switch (expr)

其中的 expr 條件,通常為變數名稱。而 case 後的 exprn,通常表示變數值。冒號後則為符合該條件要執行的部分。注意要用 break 跳離迴圈。

<?php

switch ( date ( "d" ))

?>

這裡需要注意的是break;別遺漏了,default,省略是可以的。

很明顯的,上述的例子用 if 迴圈就很麻煩了。當然在設計時,要將出現機率最大的條件放在最前面,最少出現的條件放在最後面,可以增加程式的執行效率。上例由於每天出現的機率相同,所以不用注意條件的順序。

今天就說到這裡,明天開始說資料庫的使用。

十天學會php之第十天

學習目的 學會用php上傳檔案和發郵件 上傳檔案表單必須加上 enctype multipart form data 和 下面看一下 dest dir uploads 設定上傳目錄 dest dest dir.date ymd f name 我這裡設定檔名為日期加上檔名避免重複 r move upl...

十天學會php之第十天

學習目的 學會用php上傳檔案和發郵件 上傳檔案表單必須加上 enctype multipart form data 和 下面看一下 f http post files file dest dir uploads 設定上傳目錄 dest dest dir.date ymd f name 我這裡設定檔...

十天學會php之第十天

學習目的 學會用php上傳檔案和發郵件 上傳檔案表單必須加上 enctype multipart form data 和 下面看一下 dest dir uploads 設定上傳目錄 dest dest dir.date ymd f name 我這裡設定檔名為日期加上檔名避免重複 r move upl...