
正文
php数据类型传值和引用 php数据类型传值和引用的区别
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php中传值与传引用的区别?
传值要重新构造一份原参数的拷贝
传引用则不需要
传值对参数的修改不会改变原参数
传引用时可以直接修改原参数
至于什么时候传引用,这看你的需要。
如果你的参数对象比较大(占用内存很多),而函数本身不需要修改原对象时,这个时候就推荐传引用,可以省去临时对象的构造开销。
如果你有实际修改原参数的需要,那么就只能传引用了。
相关问答
Q1: PHP传值和传引用,传地址的区别
传值和传引用、传地址的区别:
1、传值,是把实参的值赋值给行参
那么对行参的修改,不会影响实参的值
2、传地址
是传值的一种特殊方式,只是他传递的是地址,不是普通的如int
那么传地址以后,实参和行参都指向同一个对象
3、传引用
真正的以地址的方式传递参数
传递以后,行参和实参都是同一个对象,只是他们名字不同而已
对行参的修改将影响实参的值
Q2: php里传值和传引用有什么区别
传值:是把实参的值赋值给形参,那么对形参的修改,不会影响实参的值。
传引用:
真正的以地址的方式传递参数传递以后,形参和实参都是同一个对象,只是他们名字不同而已对形参的修改将影响实参的值。
Q3: 请说明php中传值与传引用的区别.什么时候传值什么
传值,
是把实参的值赋值给行参
那么对行参的修改,不会影响实参的值
传引用
真正的以地址的方式传递参数
传递以后,行参和实参都是同一个对象,只是他们名字不同而已
对行参的修改将影响实参的值
所谓值传递,就是说仅将对象的值传递给目标对象,就相当于copy;系统将为目标对象重新开辟一个完全相同的内存空间。
所谓引用,就是说将对象在内存中的地址传递给目标对象,就相当于使目标对象和原始对象对应同一个内存存储空间。此时,如果对目标对象进行修改,内存中的数据也会改变。
Q4: php 传值跟引用到底是怎么回事
变量存储数据时可以理解为变量php数据类型传值和引用的值放在一个空间里php数据类型传值和引用,而变量有一个地址指向那个空间,就如你的$test="aaaaa"; 变量$test就有一个地址指向存储了aaaaa的空间,当$abc=$test; 这时就是把$test指向那个空间的地址赋给了$abc,所以当$abc取出的值跟$test是一样的,都访问的同样的一个空间,同样当改变$abc的值时(如$abc="bbbbb")就是直接改变了那个空间里的值,这时你会发现$test的输出值也跟着改变了,这就是引用php数据类型传值和引用;
如果是直接赋值,即$abc=$test;这时就会有一个新空间,存储的值也是aaaaa,并且$abc的地址指向这个新空间,这时$abc、$test两个变量的值相同,但php数据类型传值和引用他们相互不影响了,改变其中的一个值另外一个不影响,这就是传值。
你这里是因为在引用之后才销毁的变量$test,这时变量$test不存在了,,但存储值aaaaa的那个空间还存在,并且$abc的地址指向那个空间,所以echo $abc 就输出aaaaa
希望我的回答能帮到你!
关于php数据类型传值和引用和php数据类型传值和引用的区别的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






