概念:文件引入、新棧、默認值、按引用傳遞、global、刪除變量unset();
## 自定義函數
為完成某一個功能的程序指令集合。
## 系統函數
### 文件引入:
**require_once ** 會判斷是否包含過了,更加節省資源,一般放在頁面最前面
require 出現錯誤,則會終止程序
include 如果出現錯誤會繼續執行,在頁面需要的時候引入
include_once
理解函數的調用過程:
遇到函數,內存里面開辟新棧,一個函數對應一個獨立的棧
因此,函數的變量是局部的,函數外不生效。

函數有return 才能返回結果,否則返回是空的。

函數中使用外部變量 global
~~~
$a=100;
function jisuan(){
global $a;
$a++;
}
~~~
`unset($a); `釋放給定變量。不再使用$a,后面如果要用,需要重新定義。
函數默認值:
function box($a,$b=5){
.........
}
如果沒有賦新值,就會使用默認值。
box(3);//第二個參數默認使用5
box(3,3);
函數默認按值傳遞,如果需要**按引用傳遞,使用&變量名**
也就是函數里的變量能夠影響函數外的變量。
~~~
$a=211;
function abc(&$b){
$b=312;
}
abc($a);
~~~
