首页 > php 形参和实参的对应关系

php 形参和实参的对应关系

  function myfunction($num,$a,$b,$c) {
                   echo "a".$a;
                   echo "-b".$b;
                   echo "-c".$c;
                   echo "<br>";
                    $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)。

肯定要一一对应的。


函数参数是一一对应的,如果不想传某个参数可以设置默认值

function myfunction($num=0,$a=0,$b=0,$c=0){
...
}
//调用函数位置要留出来
myfunction(100,,1,2);
【热门文章】
【热门文章】