自定义函数<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
自定义函数也叫构造函数。
格式:
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