• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php函数之引用参数函数

php 搞代码 4年前 (2022-01-22) 31次浏览 已收录 0个评论

引用参数的函数介绍

在 php 中默认是按照值传递参数的,而且 函数的参数也属于局部变量,所以即使在函数内部改变参数的值,它并不会改变函数的外部的值。上一节介绍了php中常规参数函数和伪类型参数函数。这一节来谈谈怎么引用参数,当函数为子程序时,调用函数的程序可以称为父程序。父程序直接传递指定的值或变量给函数使用。由于所传递额值或者变量与函数里的数值分别存储于不同的内存区块,所以如果函数对所导入的数值做了任何变动,并不会对父程序直接造成影响。

php引用参数的函数格式说明如下所示:

void funName(array &arg)                     // 在参数列表中出现使用 &描述的参数

下面通过一个实例来对php引用参数进行说明:

<?php //声明一个函数作为测试 function test($a){   $a = 200;     // 函数中改变参数值为200 } $b = 100;       // 父程序中声明一个全局变量$b并给一个初始值100 test($b);       // 调用test函数 将100传给函数的参数 echo $b;        // 输出100 $b的值没变化?>

在上面的实例中,调用 test()函数时,将全局变量$b 的值传给 函数 test()。虽然在 test()函数中对变量 $a 指定了新的值200,但是并不能改变函数外变量 $b 的值。 调用 test()函数结束以后,变量 $b输出的值仍为100。如果希望允许函数修改它的参数值,则必须通过引用传递参数。

相对于按值传递模式,并不会将父程序中的指定数值或者目标变量传递给函数,而是把该数值或者变量的内存存储区块相对地址导入函数之中。因此,当该数值在函数中有任何的变动时,会连带对父程序造成影响。如果想要函数的一个参数总是通过引用传递,则在函数定义中,在参数的前面预先加上符号 & 即可。

把前面的实例修改一下:

<?php //声明一个函数作为测试 function test(&$a){   $a = 200;     // 函数中改变参数值为200,加使用 & 引用参数$a,外部变量<b>/本文来源gao@!dai!ma.com搞$$代^@码5网@</b><strong>搞代gaodaima码</strong>被修改 } $b = 100;       // 父程序中声明一个全局变量$b并给一个初始值100 test($b);       // 调用test函数 将变量$b的引用传给函数的参数$a echo $b;        // 输出200 $b的值在函数中修改变量$a时被修改?>

在上面的实例中,调用 test()函数时,不是将全局变量$b 的值传给 函数 test()。可以看到,在test()函数的定义中,使用了引用符号 & 指定变量$a 为按引用传递方式。在函数体中对变量$a 指定了新的值200,由于按引用方式会修改外部数据,所以外部变量$b 的值也一起被修改。函数调用结束以后,可以看到变量$b 的输出值为200。

注意:如果在函数的形参中有使用 & 修饰参数。则在调用该函数时就必须传入一个变量给这个参数,而不能传递一个值。

【相关教程推荐】

1. 《php.cn独孤九贱(4)-php视频教程》

2. php编程从入门到精通全套视频教程

3. php实战视频教程

以上就是php函数之引用参数函数的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php函数之引用参数函数

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址