温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php中什么是引用传参

发布时间:2021-06-04 11:49:12 来源:亿速云 阅读:135 作者:小新 栏目:编程语言

小编给大家分享一下php中什么是引用传参,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

什么是引用传参:

  • 在设定函数形参时,如果在形参变量之前添加符号,就表示实参传递时要引用传递的方式(变量引用赋值)将实参值传递给形参;

  • 如果引用传参,那么函数内部的引用传参值发生改变,对应外部实参的变量的值也会发生改变,效果类似于全局变量,但是不是全局变量。

具体我们以举例和代码为例;

<?php
     /****** 引用传参*/
     //变量引用赋值
     $he = '我喜欢你';
     $she = &$he;
     echo $he;
     echo '<br/>';
     echo $she;
     
?>

代码解析:

首先定义一个初始变量($he)赋值为,我喜欢你;紧接着另一个($she),也是想说我喜欢你;此时的she找到我喜欢你的地址,并且赋值给了(she),然后我们输出(echo)$he;再来输出(echo)$she;我们会发现两个输出结果都是:我喜欢你,代码如下所示:

php中什么是引用传参

当我们尝试改变she的值,此时$she的值赋值为,我不喜欢你;当我们再次运行此值的时候,我们会发现,显示结果都是:我不喜欢你;代码如下所示:

php中什么是引用传参

根据上述实例,我们可以知道变量的引用实际上就是$he找到“我喜欢你”这个地址,赋给了$she,也就是说他们两个($he和$she)同时通过一个地址找到了一个值,一旦此值发生了改变,那么他们两个的值会发生相同的改变;也就是说she是he的一个别名,通过上述,我们再一次了解了变量的引用;

而在引用传参中:

<?php
     /****** 引用传参*/
     //变量引用赋值
     $he = '我喜欢你';
     $she = &$he;
     $she = '我不喜欢你';
     echo $he;
     echo '<br/>';
     echo $she;
     echo '<hr>' ;
     $num = 15;
     function demo($no){
       $no +=5;
     }
     demo($num);
     echo $num;
     
?>

代码解析:

首先,我们定义一个变量($num);紧接着我们定义一个函数(function demo);然后我们在demo中传一个($no)变量,此时,当我要调用demo($num)时,我们输出(echo)num,此时的num会赋值给no,然后进行接下来的运算,接着当我们在外部输出(num)发现此时代码运行的结果仍然是15(运行结果如下图);没有任何变化;当我们在demo($no)前加一个取地址符(&),此时运算的结果会显示20(运行结果如下);根据上述,正常情况下我们的实参变量demo($num)会赋值给形参($no);但是形参的赋值是引用的方式(&)赋值,综上可知,他们两个就相当于$no=&$num;任意一个改变其值,都会影响最终的结果。

php中什么是引用传参

php中什么是引用传参

以上是“php中什么是引用传参”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI