Ⅰ 请说明php中传值与传引用的区别.什么时候传值什么

传值,
是把实参的值赋值给行参
那么对行参的修改,不会影响实参的值
传引用
真正的以地址的方式传递参数
传递以后,行参和实参都是同一个对象,只是他们名字不同而已
对行参的修改将影响实参的值
所谓值传递,就是说仅将对象的值传递给目标对象,就相当于;系统将为目标对象重新开辟一个完全相同的内存空间。
所谓引用,就是说将对象在内存中的地址传递给目标对象,就相当于使目标对象和原始对象对应同一个内存存储空间。此时,如果对目标对象进行修改,内存中的数据也会改变。

Ⅱ php引用传递中的&什么意思,有什么用

如果书中说明不理解我就换种方式说,当年我看书上描述也不能立即懂:
这里个&是一个专修饰属符号,
修饰谁的?修饰变量的。
修饰变量有什么用?能够直接找到这个变量的存储位置。
如果你是变量,那这个&(取地址符)就是能够提供你的家庭住址
现在有一个方法要知道你的名字
function you_name(你的名字){这里知道你是张三了,我还要给你改个名,你叫李四}
方法结束了,你知不知道我们在方法里给你改名了?你不知道,因为他没告诉你。因为这个方法里用的是相当于你的镜像,或者说是你的记录,别人知道你叫张三。
那么现在参数我改成(&你的名字),这相当于什么你知道吗,有一个叫方法的人,通过你的地址找到了你家,然后上门给你拽出来,掐着你脖子说,你现在叫李四,你知道不?你现在就改名叫李四,不然我方法就鲨了你。你反抗不了啊,方法走了,你现在就叫李四了。
这就是取地址符的意义,直接去计算机存储地址找到这个变量的位置,直接对这个位置进行操作。就相当于对这个变量进行操作了。
如果你听懂了,给个赞被~

Ⅲ PHP传值和传引用,传地址的区别

传值和传引用、传地址的区别:
1、传值,是把实参的值赋值给行参
那么对行参的修改,不会影响实参的值
2、传地址

是传值的一种特殊方式,只是他传递的是地址,不是普通的如int
那么传地址以后,实参和行参都指向同一个对象
3、传引用

真正的以地址的方式传递参数
传递以后,行参和实参都是同一个对象,只是他们名字不同而已
对行参的修改将影响实参的值

Ⅳ php里传值和传引用有什么区别

传值:是把实参的值赋值给形参,那么对形参的修改,不会影响实参的值。
传引用:
真正的以地址的方式传递参数传递以后,形参和实参都是同一个对象,只是他们名字不同而已对形参的修改将影响实参的值。

Ⅳ php对象 是引用传递吗

是啊,按值来传递就是仅仅把值自传递过去,相当于传递的是值的拷贝,而按引用传递传递的是内存的地址。
在 PHP5 中,如果按引用传递,就是将 zval 的地址赋给另一个变量,这时,两个变量都同时指向一个 zval 。而按值传递则是复制一个 zval,两个变量指向两个不同的 zval.你看过后很简单吧以后不会可以向我一样经常到后盾人平台找找相关教材看看就会了,希望能帮到你,给个点赞吧谢谢( ↷ ㉨ ↷)

Ⅵ php引用方式传递参数

你的结果是对的

$bar='111111111'; 这句如果换个写法倒是

$bar .= '111111111'; //我想例题应该这样写吧

补:
$bar .= '111111111';
同于
$bar = $bar . '111111111';
这是php的语法,请查看手册

Ⅶ PHP中传值与传引用的区别 能举一个例子吗

传值的话,如果是非对象,会传一个值的拷贝,对这个变量做任何改动都不影响原值。
传引用或者传对象,是传真实的内存地址,对这个变量做的改动会影响原值。

function func1($a) {
$a = $a + 1;
}
function func2(&$a) {
$a = $a + 1;
}
$sample = 1;
func1($sample);
echo $sample; // 输出 1

$sample = 1;
func2($sample);
echo $sample; // 输出 2

Ⅷ 请说明PHP中传值和传引用的区别,什么时候传值什么时候传引用 谢谢 考试了--

传值要重新构造一份原参数的拷贝
传引用则不需要

传值对参数的修改不会改变原参数
传引用时可以直接修改原参数

至于什么时候传引用,这看你的需要。
如果你的参数对象比较大(占用内存很多),而函数本身不需要修改原对象时,这个时候就推荐传引用,可以省去临时对象的构造开销。
如果你有实际修改原参数的需要,那么就只能传引用了。

Ⅸ php中传值与传引用的区别

如果传值是那么两个变量是占用不同的内存空间,而传引用则是同一个内存空间,实际就回是对同一个变答量进行操作。 传值,原有的值 不会消失,不会改变,两个变量分别占用一个内存,传引用,原值会被修改,两个变量 只占用一个内存空间

Ⅹ PHP 中传值与传引用有什么区别

很大区别
传值 就相当于复制一份 从新开辟一个内存存储区域,这时候就是2个独立专区域了.对每个区域改属变另外一个区域不受影响.
传址(传引)就相当于多了一个入口,内存存储区域不变.你对其中入口改变.都会改变其共同的内存空间内容
传值比如:你(张三)是个个体,把你克隆出另外一个出来叫李四.
这时候我打李四,并没有打张三,打张三,并没打李四.是相互独立的

传引:就是你有一个身份证 叫张三,再去办一个身份证叫李四,你就有2个身份证了,张三李四都带标你.假如我KO了你.然后去派出所调解 你拿出张三.身份证那么我打的就是张三,你拿出的是李四身份证我打的就是李四