Correction status:qualified
Teacher's comments:总结的不错, 关键是要记住
默认参数的使用:
函数function定义过程中,给设置形式参数(占位符),并设置默认值,调用时通过赋值将实际参数提供给函数
同时也可以不要形式参数,直接用array_sum(func_get_args());返回数值
<?php function demo1($a="我是",$b="洪吉潮"){ return $a . $b ; } echo demo1(); echo '<hr>'; echo demo1('我不是'); echo '<hr>'; echo demo1('我真的是','洪吉潮'); function demo2(){ return array_sum(func_get_args()); } echo demo2(15,35);
点击 "运行实例" 按钮查看在线实例
剩余参数的使用:
用 ...变量名 代表后面的形式参数(占位符),未被直接设置的实际参数由剩余参数收纳,以数组形式呈现
<?php function demo3($a,...$b){ return $a + array_sum($b); } echo demo3(1,2,3,4,5,6,7,8); echo '<hr>'; function demo4($a,...$b){ return $a . array_sum($b); } $arr = [1,5,6,2,6,4,7,5,7,3,4]; echo demo4('我是',...$arr);
点击 "运行实例" 按钮查看在线实例
参数访问和匿名函数
匿名函数也叫闭包函数,直接function(){} 表示 ,PHP的函数中不能直接访问全局变量,必须加上 global $变量名;
全局变量 会自动成为 超全局变量$GLOBALS 中的键值对 ;
同时也允许函数的嵌套定义
定义常量,函数可直接访问 :
define('NATTON','php');
const COURSE = 'php';
引用传递可以在变量名前加一个& 如 &$name;
<?php $name = '我jiao洪吉潮'; function name(){ global $name; return $name; }
点击 "运行实例" 按钮查看在线实例
$data = '我jiao洪吉潮'; $name = function (){ global $data; return $data; }; echo $name();
点击 "运行实例" 按钮查看在线实例
<?php $email = '43528518@qq***'; $one = function () use (&$email){ $email = '76050503@qq***'; return function () use ($email){ return $email; }; }; echo $one()();
点击 "运行实例" 按钮查看在线实例
call_user_func_array()常用场景之一 回调函数的调用
<?php function de1($a,$b){ return $a.$b; } function de2($a,$b){ return $a.$b; } echo call_user_func_array('de1',['我是','潮哥']); echo call_user_func_array('de2',['我是','阿潮']);
点击 "运行实例" 按钮查看在线实例