網頁

2017年3月31日 星期五

php 自定義函數 function


function name(){
......程式碼.......
}
php程式擁有許多內置函數,此外,我們也可自行定義函數,其目的也在於增加工作效率,函數是可在程式中重複使用的語句,網頁載入時,函數不會直接執行,必須透過調用函數的語句,函數才會執行。下面是函數的簡單語法圖片:
  • function:自定義函數,後面須要有函數名稱。
  • name():函數名稱,函數名稱可以使用字母或下劃線開頭(不是數字),函數名稱不區分大小寫。
  • 調用函數的方法:直接打出函數名稱即可調用,如
    name(); // 調用 name函數
    msg();//調用 msg 函數
    get_ip();//調用 get_ip 函數
先來道小菜試看看吧~
這就是一道簡單的函數,當你調用函數時,僅須要使用函數名稱,即可得到結果,而函數可以放置於相同文件的任何位置,因此上面的程式碼亦如同下方程式碼:

甚至於你可以把函數集中於一文件當中,使用 include 指令引入函數文件後調用,先建立兩頁程式文件,分別為 index.php 與 sub.php ,兩文件內容分別如下:
通常,較大型的專案會採取此方式,因為此方式會較方便多人共同開發一專案,大家僅須引用共同函數文件後,該資料就會是相同了。不過因此方式為兩個不同文件,因此在調用函數前,必須先引入函數所在文件,讓程式碼知道有該項函數存在,才不會發生錯誤!

接著來看函數的返回值,你需要多加一個 return 指令,用來返回數據給程式碼,如下:
上面的程式碼若你是直接在頁面執行,會看到頁面空白一片,其實並不是未執行函數,而是函數僅是返回了一項數據,只是沒將數據顯示出來而已(因為沒寫顯示的指令),以下面方式自然可以顯示出數據:
上例中,若你返回的數據改成 $w ,自然的答案就會是 scriptmarks.com 囉~


帶參數的函數

接著,我們來看帶參數的函數,函數輸出的結果會因為參數變化而有所不同:
此為簡單的一項帶參數之函數,函數內有一判斷式 !empty($y)?,這指令的意思為如果$y不為空值則執行...否則執行.....,你可自行輸入參數,看看會有什麼變化?
再來列舉幾個比較實際的範例:


在制做頁面錯誤訊息時,也可利用類似下面這種模式,把發生的錯誤訊息顯示出來給訪客查看,下面只是非常陽春的做法,利用第二個參數去控制顯示出的訊息為一般文字訊息或是使用 js 跳出視窗告知

引用資料來源:https://scriptmarks.com/php-自定義函數-function/

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。