1. 程式人生 > >PHP基礎加強(函式)

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.實現功能----功能函式;