欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

图文详解php函数参数的几种传递方式

程序员文章站 2022-03-01 19:56:57
...
在调用函数时,需要向函数传递参数,被传入函数的参数称为实参,而函数定义的参数称为形参。而向函数传递参数的方式有四种,分别是值传递、引用传递、默认参数和可变长度参数。

按值传递参数

默认的传参方式,我们在传递参数的时候默认使用的就是这个方式,对形式参数的操作,不会影响到实际参数的值。因此如果不希望函数修改实参的值,就可以通过值传递的方式。

<?php
function test($a){
  echo ++$a;
}
$i=10;
test($i);
echo '<br/>'.$i;
?>

运行结果:

11
10

通过运行结果可以看到,在函数内,数值确实是发生变化了,而在函数外部,数值却没有变化。因此可以说,函数的值传递只是传递变量的副本。那么要是想让函数能够操作函数外实参的话,就需要使用引用传递的方式了。

按引用传递参数

按引用传递参数,对形式参数的操作会影响实际参数。这样我们在函数内部是对这个参数本身进行操作。

<?php
function test(&$a){
  echo ++$a;
}
$i=10;
test($i);
echo '<br/>'.$i;
?>

其运行结果为:

11
11

函数的默认参数

可以给形式参数设置默认值,直接赋值就可以设置

注意:必须从右往左赋值,右边的必须要有,才能给左边的赋值,如果只给左边的赋值,而不给右边的赋值,左边的赋值将不作数

<?php
function test($a=10,$b=20){
  echo $a+$b;
}
test(20,25);
?>

其运行结果为:45,如果只给$a赋值,在调用的时候给$b赋值,那将会显示如下结果:

图文详解php函数参数的几种传递方式

可变长度参数列表

在 PHP 5.6 及以后的版本中,函数的形式参数可使用…来表示函数可接受一个可变数量的参数,可变参数将会被当作一个数组传递给函数。

<?php
    function test(...$arr){
        print_r($arr);
    }
    echo '<pre>';
    test(1, 2, 3, 4);
?>

我们可以看到,他的运行结果为:

图文详解php函数参数的几种传递方式

推荐学习:《PHP视频教程

以上就是图文详解php函数参数的几种传递方式的详细内容,更多请关注其它相关文章!