自定义函数
自定义函数也叫构造函数。
格式:
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
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