自定义函数

 //无参无返回值,从1打印到5 
 function echoNum(){  
  for($i=1;$i<=5;$i++){   
   echo $i."<br/>";  
  } } 
  
  echoNum();//调用函数
  
//有参无返回值 
function echoNum1($n){  
 for($i=1;$i<=$n;$i++){   
  echo $i."<br/>";  
 } }
echoNum1(10);//调用函数,返回1,2,3,4,5,6,7,8,9,10
//有参有返回值,近回值可以给函数外的变量赋值 
function suNum($n){  
 $s=0; for($i=1;$i<=$n;$i++){  
  $s=$s+$i; } return $s; 
 } $su=suNum(5);
//函数外的变量赋值 echo $su;  

//无返回值,和返回值的区别 
function demo(){  
 echo 1111; 
} demo();
//返回1111; 
function demo1(){  
 return 1111; 
} //demo1();
//不会返回1111,但可以赋值给变量 
$de=demo1();//赋值给变量 
echo $de;//输出变量

递归函数

 /*
 * 4>递归函数: 自己调用自己;
    递归函数必须要有终止的情况。
    常用在 php 可以递归删除目录 文件。
 * */
//递归函数
 function sum($n){
  if($n==1){
   return 1;
  }else{
   return $n+sum($n-1);
  }
 }
 $m=sum(5);
 echo $m;
 /*
  * 递归函数执行过程
  * 1.$m=sum(5);5不等于1执行else中的代码
  *  return 5+sum(4);
  *   return 4+sum(3);
  *    return 3+sum(2);
  *     return 2+sum(1);
  *  
  *   return 1//1等于1执行if里面的代码
  *   return 2+sum(1);//2+1返回3
  *    return 3+sum(3);//3+3返回6
  *     return 4+sum(6);//4+6返回10
  *      return 5+sum(10);//5+10返回15
  * */

 

变量的引用传值

 /*变量引用传值二 变量的引用传值
 * 引用传值:php允许多个变量指向同一个内存空间
    * 引用传值:传递是内容 $a=3;
 */
 $a=3;  
 $b=&$a;
 $a=5;
 echo $b;//返回5