PHP基礎加強(函式)
8.1函式介紹:
說明:函式的作用在於對一個功能的封裝,封裝後在別的頁面中引入並呼叫,可以節省程式碼量,減少冗餘
8.1.1函式的定義:
Function 函式名([形參1],[形參2],[形參3],…[形參n]){
要封裝到函式的程式碼;
Return 返回值;
}
8.1.2函式的呼叫
說明:直接使用需要呼叫的函式名就可以了
語法:函式名([實參1],[實參2],…[實參n]);
8.1.3函式的相關細節
1:函式定義時的形參不是一個具體的數值,而是需要接收“實參”的工具而已,形參必須是一個變數;
2:形參可以給預設值,且可以是多種型別的資料;
3:實參就是要給函式傳遞資料用的工具,可以是具體的值,也可以是變數;必須一一對應
4.函式名遵循變數的定義規則:數字,字母,下劃線,且不能數字開頭;
5.函式名不能重複定義;
6.Return 返回值,如果寫了就會返回當前需要返回的值,如果沒有寫,預設返回一個真或者1,null;
7.return如何返回多個值----陣列
8.返回值必須使用一個變數到函式的呼叫者這個位置接收
9:函式的變數稱為區域性變數,不能在函式外使用;
8.2函式的呼叫機制
程式碼:
說明:
1.函式的呼叫者把實際的資料傳遞給函式的形參,這個時候的形參只能在函式內使用;
2.函式在執行程式碼時會新建一個新的空間來執行函式內的程式碼;
3.執行程式碼後,如果有返回值,把結果返回給呼叫者,這個時候執行函式的這個空間釋放;
8.3函式的封裝
$number = isset($_GET['number'])?$_GET['number']:''; $zhuan = isset($_GET['zhuan'])?$_GET['zhuan']:''; $res =' '; switch ($zhuan){ case 1: $res=decbin("$number"); break; case 2: $res =bindec("$number"); break; } echo $res; ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <from action="" > 數:<input type="text" name="number"> <select name="zhuan " id=""> <option value="1">十進位制轉二進位制</option> <option value="2">二進位制轉十進位制</option> </select> <input type="submit" value="轉換"> <input type="text" value="<?php echo $res;?>"> </from> </body> </html>
8.2封裝的好處
封裝的方式:
函式庫:
呼叫:
8.4可變函式
說明:如果一個變數如果加上括號PHP系統解析成函式,這個變數的值
8.5:回撥函式
說明:在一個函式中呼叫另一個函式,稱為“回撥”;
一般用的形式:
8.6匿名函式
說明:匿名函式就是沒有名稱的函式,這個時候需要用一個變數來儲存函式
8.7內部函式:
說明:在一個函式內部再定義函式,這個時候裡面的函式只能在函式內使用,不能在外部使用,防止外部人呼叫函式,這種函式方式不多,面向物件中都是這種方式。
案例:
//內部函式
function getval($n1,$n2){
//需要製作一個加法和減法
function sum($n1,$n2){
return $n1+$n2;
}
function sub($n1,$n2){
return $n1-$n2;
}
echo sum($n1,$n2);
echo "\n";
echo sub($n1,$n2);
}
getval(1,2);
8.8遞迴思想:
說明:在一個函式內部再次有條件用自己(當前函式),這個時候就稱為“遞迴呼叫”,即自己呼叫自己。
程式碼
function abc($a){
if($a>2) {
abc(--$a);
}
echo $a;
}
abc(4);
注意:
1遞迴呼叫必須有一個可以退出的條件,否則無法退出遞迴呼叫,成為死迴圈;
2.在遞迴呼叫時每次都會開闢一個新棧,這些棧是沒有關係的;
8.9網站佈局方式:
程式碼實現:
1.建立目錄;
2.建立配置檔案;
3.實現功能----功能函式;