视频地址:https://www.bilibili.com/video/BV1Vi4y157Yk?p=18
三,参数的传递
1,按值传递
2,按引用传递,在参数变量前加&,如:functiong test(&$a)
3,函数的默认值
可以给形式参数设置默认值,设置方法很简单,直接赋值即可。
多个参数时,加默认值是从右往左加的,右边的必须有。
function test ($a,$b=10){
echo $a+$b;
}
test(5); //正确,输出15
function test ($a=10,$b){
echo $a+$b;
}
test(5); //错误:Uncaught ArgumentCountError: Too few arguments to function test()
test(,5); //错误:syntax error, unexpected
test(5,10); //可以执行,输出15
4,可变长度参数,php提供的,可以直接使用。
func_get_args(); //获取传入的参数数组
func_get_arg(); //获取第几个实际参数(从0开始)
func_num_args(); // 返回传入参数的个数
function p($data=null) {
if (empty($data)) {
return false;
}
echo '<pre>';
print_r($data);
echo '</pre>';
}
function test (){
//p(func_get_args());
//var_dump(func_get_arg(0));
var_dump(func_num_args());
}
test("sf",122,333312,"afsffs");
/*
结果:
test("sf",122,333312,"afsffs");
p(func_get_args());
Array
(
[0] => sf
[1] => 122
[2] => 333312
[3] => afsffs
)
var_dump(func_get_arg(0));
string(2) "sf"
var_dump(func_num_args());
int(4)
*/
可变函数
可变函数(变量函数),把函数赋给一个变量
function test(){
echo "我是test函数";
}
$a='test'; // 把函数名字加上引号,赋值给变量即可。
$a();