Php函数

函数体现了代码的重用性;就是不用老是写同一个代码段;

1.函数的定义;

关键词:

function functionName(parameters){

    code;

}

  1. <?php 
  2.     //定义函数Text; 
  3.     function Text(){ 
  4.         echo  "i'm the text"."<br />"
  5.     } 
  6.  
  7.     $ret  = Text(); 
  8.     //测试返回值; 
  9.     if (is_null($ret)){ 
  10.         echo "null"
  11.     }else
  12.             echo "$ret"
  13.     } 
  14. ?> 

无带return 的函数 ,返回了一个NULL ,这是我测试的结果 ;

 

2.函数的参数;

1.按值传参

2.引用传参

 

 

  1. <?php 
  2.      $intT1 = 1; 
  3.      $intT2 = 1; 
  4.      //按传值传参 
  5.      function Test($can1,$can2){ 
  6.         $can1++; 
  7.         $can2++; 
  8.         echo "\$can1 = $can1"."<br />"
  9.         echo "\$can2 = $can2"."<br />"
  10.      } 
  11.      Test($intT1,$intT2); 
  12.      echo "\$intT1 = $intT1"."<br />"
  13.      echo "\$intT2 = $intT2"."<br />"
  14. //     结果为: 
  15. //     $can1 = 2 
  16. //     $can2 = 2 
  17. //     $intT1 = 1 
  18. //     $intT2 = 1 
  19. //     即 形参改变了,但原来的变值量没有变; 
  20.  
  21.  
  22.      function Test1(&$can1,&$can2){ 
  23.         $can1++; 
  24.         $can2++; 
  25.         echo "\$can1 = $can1"."<br />"
  26.         echo "\$can2 = $can2"."<br />"
  27.      } 
  28.      Test1($intT1,$intT2); 
  29.      echo "\$intT1 = $intT1"."<br />"
  30.      echo "\$intT2 = $intT2"."<br />"
  31. //     结果: 
  32. //      $can1 = 2 
  33. //      $can2 = 2 
  34. //      $intT1 = 2 
  35. //      $intT2 = 2 
  36. //     说明了,引用传参。原来的变量值也会改变 
  37.  
  38. ?> 

 

默认参数值;

  1. <? 
  2.    //如果没有传参,则;为默认值 ; 
  3.    function Test($arg1 = 0; $arg2 = 0){ 
  4.      
  5.    } 
  6. ?> 

2.函数的返回值;

上面刚刚试过说,如果函数没有设置return 返回值,则返回null;所以我们可以用return 来设置返回值 ;

 

  1. <? 
  2.    function RetTest(){ 
  3.    return 123;  
  4.    } 
  5. ?> 

也可以返回object等等;只要设置相应类型的变量接收;

返回多个值 ;比如说数组;

 

  1. <? 
  2.     function RetTest(){ 
  3.     $user = array("the peo","the box","the text","the run"); 
  4.     return $user
  5.     } 
  6.     list($arg1,$arg2,$arg3,$arg4) = RetTest(); 
  7.     echo $arg1.$arg2.$arg3.$arg4
  8. ?> 

用list() 设置变量来接收返回多组值 ;

 

3.递归函数;即调用自身函数;(这方面小弟运用起来比较烂;大家百度发挥吧)

  1. <?php 
  2.    function Refunction($arg1){ 
  3.    if ($arg1 == 10 ){ 
  4.      return $arg1
  5.    } 
  6.    else 
  7.       return Refunction ($arg1+1); 
  8.    } 
  9.    $RET = Refunction(5); 
  10.    echo $RET
  11.  
  12. ?> 

 

4 函数库;

把一些常用的函数写成一个文件,到需要的时候 ,要

include()或require;进来

  1. <?php 
  2. //test2.php
  3.    function addint ($arg1,$arg2){ 
  4.  
  5.     return $arg1+$arg2
  6.    } 
  7.    function jianint ($arg1,$arg2){ 
  8.     return $arg1-$arg2
  9.    } 
  10. ?> 
  1. <? 
  2.   include "test2.php"
  3.   $TestAdd = addint(1,2); 
  4.   echo $TestAdd."<br />"
  5.   $Testjian = jianint(2,1); 
  6.   echo $Testjian
  7. ?> 

结果:

3
1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章