php 形参和实参的对应关系
迷茫
迷茫 2017-04-10 17:15:11
0
4
448
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的

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复 (4)
洪涛

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

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)。

      肯定要一一对应的。

        PHPzhong

        你写一个函数的时候,定义了多少个参数,调用的时候也就要写多少个参数,原理就和排队点名一样,你中间空了一个,如果你不留一个位置说明是空缺,那就会让后面的人顶上,导致的结果是最后一个位置空缺

          最新下载
          更多>
          网站特效
          网站源码
          网站素材
          前端模板
          关于我们 免责声明 Sitemap
          PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!