码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-12-03 02:27:53      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:php

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

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

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

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

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

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


本文出自 “刘博方的博客” 博客,请务必保留此出处http://liubofang.blog.51cto.com/11162557/1879026

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

标签:php

原文地址:http://liubofang.blog.51cto.com/11162557/1879026

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!