Php函数Happy
函数体现了代码的重用性;就是不用老是写同一个代码段;
1.函数的定义;
关键词:
function functionName(parameters){
code;
}
<?php //定义函数Text; function Text(){ echo "i'm the text"."<br />"; } $ret = Text(); //测试返回值; if (is_null($ret)){ echo "null"; }else{ echo "$ret"; } ?>
无带return 的函数 ,返回了一个NULL ,这是我测试的结果 ;
2.函数的参数;
1.按值传参
2.引用传参
<?php $intT1 = 1; $intT2 = 1; //按传值传参 function Test($can1,$can2){ $can1++; $can2++; echo "\$can1 = $can1"."<br />"; echo "\$can2 = $can2"."<br />"; } Test($intT1,$intT2); echo "\$intT1 = $intT1"."<br />"; echo "\$intT2 = $intT2"."<br />"; // 结果为: // $can1 = 2 // $can2 = 2 // $intT1 = 1 // $intT2 = 1 // 即 形参改变了,但原来的变值量没有变; function Test1(&$can1,&$can2){ $can1++; $can2++; echo "\$can1 = $can1"."<br />"; echo "\$can2 = $can2"."<br />"; } Test1($intT1,$intT2); echo "\$intT1 = $intT1"."<br />"; echo "\$intT2 = $intT2"."<br />"; // 结果: // $can1 = 2 // $can2 = 2 // $intT1 = 2 // $intT2 = 2 // 说明了,引用传参。原来的变量值也会改变 ?>
默认参数值;
<? //如果没有传参,则;为默认值 ; function Test($arg1 = 0; $arg2 = 0){ } ?>
2.函数的返回值;
上面刚刚试过说,如果函数没有设置return 返回值,则返回null;所以我们可以用return 来设置返回值 ;
<? function RetTest(){ return 123; } ?>
也可以返回object等等;只要设置相应类型的变量接收;
返回多个值 ;比如说数组;
<? function RetTest(){ $user = array("the peo","the box","the text","the run"); return $user; } list($arg1,$arg2,$arg3,$arg4) = RetTest(); echo $arg1.$arg2.$arg3.$arg4; ?>
用list() 设置变量来接收返回多组值 ;
3.递归函数;即调用自身函数;(这方面小弟运用起来比较烂;大家百度发挥吧)
<?php function Refunction($arg1){ if ($arg1 == 10 ){ return $arg1; } else return Refunction ($arg1+1); } $RET = Refunction(5); echo $RET; ?>
4 函数库;
把一些常用的函数写成一个文件,到需要的时候 ,要
include()或require;进来
<?php //test2.php function addint ($arg1,$arg2){ return $arg1+$arg2; } function jianint ($arg1,$arg2){ return $arg1-$arg2; } ?>
<? include "test2.php"; $TestAdd = addint(1,2); echo $TestAdd."<br />"; $Testjian = jianint(2,1); echo $Testjian; ?>
结果:
3
1