自定義函數
自定義函數也叫構造函數。
格式:
Function funname (arg1, arg2, arg3…….)
{statement
Return valiues
}
參數列表,每個參數用逗號隔開。
例子:function fun($m, $n){ //定義了一個自定義函數的兩個參數$m $m
If($==0 || $n==0){ //判斷參數是否爲0
Return 0;} //返回 0
Else{$a=$n*$m; //做平方運算
Return $a; //返回平方值
} //結束if
} //結束 function
$p=2;
$h=3;
Echo fun ($p $h)
說明:上面種的fun 裏面的定義了的是函數的參數的個數,fun後面的$m,$n只代表了下面條件的一個$==0 || $n==0,與下面的$p,$h沒關,當我們定義了兩參數,下面的也需對應兩個參數。如果少了,可能會報錯。
下面使用動態參數:
例子:function fun($m,$n=1,$x=2){ //定義了三個參數,但後面兩個參數給了初始值;
$a=$m*$n*$x;
Return $a;
}
$p=2;
Echo fun( $p); //當給一個參數時,結果:2*1*2
Echo fun($p,3); //當個出兩個參數是,結果:2*3*2
Echo fun($p,3,3) //當給出三個參數時,結果:2*3*3
1.PHP自定義函數應用傳遞
例子:function fun(&$n) //在參數前面加&
{
$n=$n*$n; //$n運算後重新賦值給$n,$n的值值被改變。
} //
$p=2; //原$p爲2
$p=2; //原$p爲2
Fun ($p); //參數$p的值被改變
Echo $p; //先$p爲4
上面沒有出現return,那就是說沒返回值。之前使用的都是返回到函數名上面。引用傳遞也叫做地址映射的,&是內存地址的一個功能。Return在自定義函數裏面只能出現一次,多次的話值執行一個return:
2.PHP自定義函數的嵌套
function cl($v,$b) //簡化常量cl;
{ define ( $v, $b);
}
cl("NA","PHP100");
echo NA; //輸出結果爲PHP100;
3.PHP自定義函數的遞歸。
遞歸就是自己包含自己。
function fun1($n){
if($n==1){
return 1;
}else{
return $n*fun1($n-1);
}
}
echo fun1(1)."<br>"; //沒有遞歸
echo fun1(2)."<br>"; //遞歸1次,調用本身1次
echo fun1(3)."<br>"; //遞歸2次,調用本身2次
echo fun1(4)."<br>"; //遞歸3次,調用本身3次
echo fun1(5)."<br>"; //遞歸4次,調用本身4