关于php按值传递和按引用传递问题

关于php按值传递和按引用传递问题

  首先让我们来看一段代码:

01 <!--?php
02 $a = 111;
03 $b = 222;
04 function cz(& $a,$b){
05         $a += $b;
06         $b += 4;
07     }
08 cz($a,$b);
09 echo '$a='.$a.'</br---->';
10 echo '$b='.$b;
11 ?>

  这段代码,首先在函数cz外定义了两个变量$a和$b,然后在函数cz内,对两个变量进行了相应的操作,再调用函数cz,最后将$a和$b输入。我们都知道函数的作用域问题,在函数内部修改的值,只能在函数内部反应出来,在函数外是不能得不到这种变化的。现在我们看下这个这段代码输出的结果:

1 $a=333;
2 $b=222;

$b的值和预期的相同,输出的是222,但是$a的值却发生了变化,这是因为在函数的参数前多了一个“&”的原因,正是因为这个符号,所以让$a能够得到在函数cz内的变化,所以$a的值才会发生改变。

  所以按值传递和按引用传递的区别就在这里了,如果想将一个变量在函数内修改的值作用到函数外的变量上时,只需要在相应的参数前面加上“&”就可以了。


原址:http://www.pmsun.net/web/15.html


广告一下:朋友同志网站www.rcles.com


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值