Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:
/**
* 函数的引用参数和剩余参数的使用
*/
// 引用参数
function res(&$a)
{
return $a /=3;
}
$b = 10;
echo res($b);//3.3333333333333
echo '<br>';
echo $b;//3.3333333333333,函数中使用了引用符&,把$b的内存储存区块的相对地址,导入到函数体中了
function arr(&$me)
{
return $me += 6;
}
$to = 10;
echo arr($to);//16
echo $to;//16
// 剩余参数
echo '<hr>';
function test($a,$b,$c,$d,$f)
{
return $a+$b+$c+$d+$f;
}
echo test(1,3,5,7,9,10,11);//25,值相加了前五个值
echo '<br>';
// 剩余参数在参数列表中:收集
function test1(...$args)
{
return ($args);
}
print_r(test1(1,2,35,4,5,6,7));//Array ( [0] => 1 [1] => 2 [2] => 35 [3] => 4 [4] => 5 [5] => 6 [6] => 7 )
echo '<hr>';
// array_sum:求和上限
function test2(...$age)
{
return array_sum($age);
}
print_r(test2(1,2,35,4,5,6,7));//60
echo '<br>';
echo test2(1,2,35,4,5,6,7);//60
// 剩余函数用在函数的调用表达式中:展开
$arr = [1,2,3,5,6,6,7,8,9];
$res = test2(...$arr);
echo $res;//47
?>
/**
* 回调函数~:1,是作为参数传递给父函数,匿名函数:闭包
* 2, 回调函数是用于异步编程中函数的参数,异步编程-> 对函数
* 执行的时间和顺序不可预测,通过事件/回调的放式来唤醒主程序
* $ ('#bth').click(function(){
* })
*/
$data = range(1,100);
//筛选出所有的偶数
$arr = array_map(function($item){
if($item % 2 == 0) return $item;
},$data);
// print_r($arr);
// 删除数组中所有等值为空(false)的成员array_filter:删除空值
$res = array_filter($arr,function($item){
return $item;
});
// print_r($res);
// 数组排序
print_r(array_values($res));
?>