Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
function sum1(int $a,int $b,int $c=10):int
{
return array_sum([$a,$b,$c]);
}
sum1(20,30);//参数太少就用参数的默认值
function foo($arg, ...$args) //聚拢,收集(...表示参数过多或者参数个数不确定)
{
var_dump($arg, $args);
}
foo(1, 2, 3, 4, 5);
在参数前面加上& 可以将值传递 变为引用传递
引用传递 两个变量指向同一个内存地址
$y = &$x; //引用赋值 $x $y 指向同一个内存地址 互相受影响
$x = 1000;
echo $y; //输出1000
$y = 8888;
echo $x; //输出8888
php8以上新增特性
function sum2(int $a, int $b, int $c = 10, int $d = 20): int
{
return array_sum([$a, $b, $c, $d]);
}
echo sum2(1, 2, d: 3) //
没有名称的函数
$b = 10;
$boo = function ($a) use ($b) {
return $a *= $b;
};
回调函数的第一个参数是被回调的函数,后面的参数是被回调函数的参数
call_user_func($boo, 2);