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){}。
函数调用时,对应的参数是,实参,对应你这里是-myfunction(100,1,2,3)。
肯定要一一对应的。
你写一个函数的时候,定义了多少个参数,调用的时候也就要写多少个参数,原理就和排队点名一样,你中间空了一个,如果你不留一个位置说明是空缺,那就会让后面的人顶上,导致的结果是最后一个位置空缺