时间:2021-07-01 10:21:17 帮助过:61人阅读
function myfunction($num,$a,$b,$c) {
echo "a".$a;
echo "-b".$b;
echo "-c".$c;
echo "
";
$b+=2;
$c+=3;
$a+=1;
echo "a".$a;
echo "-b".$b;
echo "-c".$c;
echo "-num".$num;
}
myfunction(100,1,2,3);
运行结果:
a1-b2-c3
a2-b4-c6-num100
我得出的推论是 函数在运行时 形参和实参是一一对应的关系
但是当我只想传 $num $a $c 这三个参数 不想传 $b时 应该如果传参
myfunction(100,1,3);
运行结果:
a1-b3-c
a2-b5-c3-num100
这里面我其实是想让 $a=1 $c=3 不要$b的
function myfunction($num,$a,$b,$c) {
echo "a".$a;
echo "-b".$b;
echo "-c".$c;
echo "
";
$b+=2;
$c+=3;
$a+=1;
echo "a".$a;
echo "-b".$b;
echo "-c".$c;
echo "-num".$num;
}
myfunction(100,1,2,3);
运行结果:
a1-b2-c3
a2-b4-c6-num100
我得出的推论是 函数在运行时 形参和实参是一一对应的关系
但是当我只想传 $num $a $c 这三个参数 不想传 $b时 应该如果传参
myfunction(100,1,3);
运行结果:
a1-b3-c
a2-b5-c3-num100
这里面我其实是想让 $a=1 $c=3 不要$b的
函数参数是一一对应的,如果不想传某个参数可以设置默认值
function myfunction($num=0,$a=0,$b=0,$c=0){
...
}
//调用函数位置要留出来
myfunction(100,,1,2);
题主总结的没错,实参和形参就是一一对应的关系
。
如果你的形参有三个,但是你只是想把第一和第三个实参传过去,对应形参里的第一和第三,那么就采用楼上的方法;
还有一个,就是一般,把不常用的形参放最后,并且赋予那个形参一个默认的值(这个值根据业务逻辑来定),这样你传递参数的时候只传递你想要传递的前几个参数就可以了,后面的可以忽略。
函数定义时,对应的参数是,形参,对应你这里是-function myfunction($num,$a,$b,$c){}。
函数调用时,对应的参数是,实参,对应你这里是-myfunction(100,1,2,3)。
肯定要一一对应的。
你写一个函数的时候,定义了多少个参数,调用的时候也就要写多少个参数,原理就和排队点名一样,你中间空了一个,如果你不留一个位置说明是空缺,那就会让后面的人顶上,导致的结果是最后一个位置空缺