这篇文章给大家分享的是有关php函数参数的传递方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在调用函数时,需要向函数传递参数,被传入函数的参数称为实参,而函数定义的参数称为形参。而向函数传递参数的方式有四种,分别是值传递、引用传递、默认参数和可变长度参数。
按值传递参数
默认的传参方式,我们在传递参数的时候默认使用的就是这个方式,对形式参数的操作,不会影响到实际参数的值。因此如果不希望函数修改实参的值,就可以通过值传递的方式。
<?phpfunction test($a){ echo ++$a;}$i=10;test($i);echo '<br/>'.$i;?>
运行结果:
1110
通过运行结果可以看到,在函数内,数值确实是发生变化了,而在函数外部,数值却没有变化。因此可以说,函数的值传递只是传递变量的副本。那么要是想让函数能够操作函数外实参的话,就需要使用引用传递的方式了。
按引用传递参数
按引用传递参数,对形式参数的操作会影响实际参数。这样我们在函数内部是对这个参数本身进行操作。
<?phpfunction test(&$a){ echo ++$a;}$i=10;test($i);echo '<br/>'.$i;?>
其运行结果为:
1111
函数的默认参数
可以给形式参数设置默认值,直接赋值就可以设置
注意:必须从右往左赋值,右边的必须要有,才能给左边的赋值,如果只给左边的赋值,而不给右边的赋值,左边的赋值将不作数
<?phpfunction test($a=10,$b=20){ echo $a+$b;}test(20,25);?>
其运行结果为:45,如果只给$a赋值,在调用的时候给$b赋值,那将会显示如下结果:
可变长度参数列表
在 PHP 5.6 及以后的版本中,函数的形式参数可使用…来表示函数可接受一个可变数量的参数,可变参数将会被当作一个数组传递给函数。
<?php function test(...$arr){ print_r($arr); } echo '<pre>'; test(1, 2, 3, 4);?>
我们可以看到,他的运行结果为:
感谢各位的阅读!关于“php函数参数的传递方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!