之前我們提到,PHP Resource擁有許多的內建函式,截至目前為止,PHP 5.0之後大約有700多個,這些都是仰賴於Open source的前提,許多使用者的智慧結晶,所以其實你也可以開發撰寫一個自專屬的Function。
簡單提出幾個PHP目前的內建函式。
Array()
在之前的文章就有提到的,它的功能為宣告一個陣列。
Array_merge(array1, array2, array3)
合併一個以上的陣列。
Date(format, timestamp)
取得本地時區日期/時間。
那我們不詳談各函式的用法,畢竟,它有700個以上,逐一談論並不是筆者想講述的重點。接著,將說明如何自訂一個函式,並呼叫使用它。
宣告一個函式(Create a Function)
語法(Syntax)
function functionName(){ code to be executed; } |
1.給於函式一個名稱,用以命名並使用它。
2.函式的命名,不可以用數字當字首。
Example:
<html> <body> <?php function writeName() { echo "Kai Jim Refsnes"; } echo "My name is "; writeName(); ?> </body> </html> |
Output
My name is Kai Jim Refsnes |
這是個最簡單的函式,程式碼簡單的試範如何宣道與使用。當然,另一種使用方式就是可以帶入參數的函式。
<html> <body> <?php function writeName($fname) { echo $fname . " Refsnes.<br />"; } echo "My name is "; writeName("Kai Jim"); echo "My sister's name is "; writeName("Hege"); echo "My brother's name is "; writeName("Stale"); ?> </body> </html> |
Output:
My name is Kai Jim Refsnes. My sister's name is Hege Refsnes. My brother's name is Stale Refsnes. |
很清楚的看到,在宣道函式名稱後方的小括號宣告了一個變數,它將代表著隨著使用函式時帶入的參數會指定給這個變數,然後在函式的程式碼區塊中做處理。
上段的程式做的處理便是在Screen上Print「參數的值」加上了Refsnes字串。接著下個範例是可以讓函式帶入兩個參數。
Example:
<html> <body> <?php function writeName($fname,$punctuation) { echo $fname . " Refsnes" . $punctuation . "<br />"; } echo "My name is "; writeName("Kai Jim","."); echo "My sister's name is "; writeName("Hege","!"); echo "My brother's name is "; writeName("Ståle","?"); ?> </body> </html> |
Output
My name is Kai Jim Refsnes. My sister's name is Hege Refsnes! My brother's name is Ståle Refsnes? |
撰寫的方式很簡單,在寫Function時,在名稱後面的小括號中指定多個變數並用逗號分隔開。到目前為止相信對函式的宣告已經有初步的認識,不過目前為止,我們都是將參數丟給函式處理,不過有另一種情況是請Function執行完程式碼後,傳回一個值。
Example:
<html> <body> <?php function add($x,$y) { $total=$x+$y; return $total; } echo "1 + 16 = " . add(1,16); ?> </body> </html> |
Output:
1 + 16 = 17 |
宣告跟處理的方式沒有什麼不一樣,差別在於最後一行的return,它可以用來回傳一個值給函式,以上段程式的例子,在函式中宣告了一個變數$total,用來存放使用函式時所帶入的兩個參數相加的結果,再經由return將該值回遞最後輸出。
PS:在函式中所宣告的變數皆為區域變數。
參考資料:
PHP與MySQL網頁設計實務/網奕出版/吳權威 編著
沒有留言:
張貼留言