自定义函数<?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