菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
105
0

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

原创
05/13 14:22
阅读数 525860

按值传递参数

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

<?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赋值,那将会显示如下结果:

V9WGZ)@@[SLXS8D`}WIC`E4.png

可变长度参数列表

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

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

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

1MV~~7[EM7M0EPEG[XT~P6A.png

推荐学习:《PHP视频教程

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

发表评论

0/200
105 点赞
0 评论
收藏
为你推荐 换一批