在PHP中,支持函数的默认方式调用,即为参数指定一个默认值。
1.默认参数实例:
<?php //自定义一个函数mun function mun($a=1, $b=2, $c=3){ echo $a + $b; } mun(); //全部使用默认参数相加 echo "<hr>"; mun(8); //第一个默认参数被覆盖,后面两个参数为默认 echo "<hr>"; mun(8,5); //前两个默认参数被覆盖,后面一个参数为默认 ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
2.剩余函数实例:
<?php //剩余参数,函数中参数设置中使用 ...变量名 方式设置的形参,称之为剩余参数,剩余参数可代表未被直接设置所有实参,且所有实参之间 //以数组的形式存储在一起, function add ($a,$b,...$c){ return $a+$b+array_sum($c); } echo add(1,2,3,4,5,6,7,8,9,10)."<br>"; //1到10之和 = 55
运行实例 »
点击 "运行实例" 按钮查看在线实例
3.匿名函数实例:
<?php //匿名函数,即没有定义函数名的函数 即 function(){} 在PHP中也称为闭包函数 //允许临时创建一个没有指定名称的函数,被用作回调函数参数的值 // 匿名函数 不设置函数名 但可以将返回值保存在一个变量中 如 $add $add =function ($a,$b){ return $a+$b; }; // $add = 值 是赋值语句 所以要以分号结尾 echo $add(9,11)."<br>"; //输出20 echo "<hr>"; //匿名函数作为函数的回调参数使用 $tel = "13015600265"; //全局变量 $a = function(){ //变量赋值匿名函数 返回外部数据 return $tel; //因为没有声明或使用超全局方法调用 本次调用失败 }; $b = function()use($tel){ //匿名函数括号后 使用use(变量名)调用外部变量,函数体内返回成功 return $tel; //调用到内部的变量也拥有修改的权限 }; echo $b(); echo "<hr>"; $c = function()use($tel){ //匿名函数括号后 使用use(变量名)调用外部变量,函数体内返回成功 $tel = "13005972323"; return $tel; //调用到内部的变量也拥有修改的权限 }; echo $c(); //输出 13005972323 函数体内部修改的变量值,对于在外部变量的原值不做产生影响
运行实例 »
点击 "运行实例" 按钮查看在线实例
call_user_func_array()使用:
使用方法简单来讲,就是调用一个函数或者一个类中的某个成员函数
. 场景:
a、你要调用的函数名是未知的
b、要调用函数的参数类型及个数也是未知的,而且第二个参数传入的是数组,我不知道这样理解对不对?老师
<?php function a($b,$c){ //第一个参数是函数名,第二个参数是参数数组 echo $b; echo $c; } call_user_func_array('a',array("111","222")); //返回是111,222 ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例