一:函数定义
PHP中的函数定义和javascript中的函数定义非常相似
函数定义格式:function 函数名(参数1,参数2,参数3.......){ ...代码块... }
二:函数参数
形式参数:在函数声明的时候给的参数叫做形式参数,简称:形参
实际参数:在函数调用的时候给的参数叫做实际参数,简称:实参
function wirte($n){ for ($i=1; $i <$n ; $i++) { echo "$i"; } } wirte(2); //以上函数中声明函数是的$n为行参 //调用函数传的2是实参
参数的个数
1.实参>形参
2.实参=形参
3.实参<形参
4.形参设置了默认值
5.传参个数不确定
//1.实参>形参 function demo01($n,$m){ echo "\$n+\$m的结果是",$n+$m; } demo01(1,2,3,4);//$n+$m的结果是3 //2.实参=形参 完美状态 //3.实参<形参 function demo02($n,$m){ echo "\$n+\$m的结果是",$n+$m; } //demo02(1);//报错Uncaught ArgumentCountError: Too few arguments to function demo02() 参数太少无法执行 //4.形参设置了默认值 function demo03($n,$m=3){ echo "
"; return $n+$m; } echo demo03(1,2);//当函数形参设置了默认值 //如果调用函数没有传参给形参则使用形参的默认值 //如果调用函数传了实参给形参,此时形参就使用传过来的实参 //5.传参个数不确定 //可变参数列表:当传入的参数不确定的时候,这时候可以使用可变参数列表去获取数值 // func_exists 判断函数是否已经存在 // func_get_args($n) 获取函数调用的第几个实参 // func_get_args() 获取函数调用的所有实参 //案例:获取调用函数是传入参数的总值 function demo04(){ $allargs = func_get_args(); $num = 0; for ($i=0; $i <count($allargs) ; $i++) { $num+=(int)$allargs[$i]; } return $num; } echo "
"; echo demo04(1,2,3,4,5);//15
三:函数返回值
php // 返回单个数值 function demo06($m){ return $m; } echo demo06(1); // 返回多个数值 function demo07($m,$n){ return array($m,$n); } var_dump(demo07(1,2)); ?>
四:可变函数
php //可变函数,函数名是一个变量 $a = "wirte"; // $a(10); //可变变量,变量名是一个变量 $a = 1; $v = "a"; // echo $$v; function jpg(){ echo "
处理jpg图片"; } function gif(){ echo "
处理jpg图片"; } function png(){ echo "
处理jpg图片"; } $file = ""; if (isset($_GET["file_name"])) { $file = $_GET["file_name"];//用户上传的文件名 $x = strrchr($file,"."); $img_type = substr($x,1); echo "$img_type"; $img_type(); } /* string strrchr( string $haystack, mixed $needle) 该函数返回 haystack 字符串中的一部分,这部分以 needle 的最后出现位置开始,直到 haystack 末尾。 substr(字符串,开始索引,长度) */ ?>