php中传值赋值和引用赋值,PHP中传值赋值和引用赋值详解

1.变量间的赋值方式

$a = 变量值;

$b = $a;

将a变量的值赋值给b变量有这种传值方式:

(1)传值赋值

(2)引用赋值

1.2.传值赋值

将$a变量的值复制出一份存放到$b变量中.

修改$a和$b的值相互不会影响.因为他们各自指向自己的内存区域.

1.3.引用赋值

将$a变量引用复制出一份作为$b变量的引用. 两个变量的引用指向同一个内存空间.

通过&符号表示在赋值过程值使用引用赋值.

修改$a,$b的值都是修改值空间. 会相互影响两个变量的值.

1.4.在PHP中对象类型默认的就是引用赋值

在PHP中的对象是引用数据类型,默认情况下就使用引用赋值. 所以在赋值过程中不需要通过&符号来指定引用传递.

这里肯定有同学质疑obj->name怎么会是张三呢? 请看以下图解:

1.5.在PHP中数组类型默认的就是传值赋值

在PHP中的数组默认情况下就使用传值赋值. 如需使用引用赋值需要通过&符号来指定.

默认传值赋值:

通过&指定引用赋值:

1.6.选择哪种赋值方式呢?

如果变量a指向的内存存储大量数据,将变量a赋值给变量b,建议使用引用赋值,这样可以节约内存的使用率. 但b变量值的改变就会影响到a.

1.7.引用赋值的使用场景

1.变量赋值

2.函数对外部变量值的改变.

3.foreach中改变数组中元素的值

本文来源:http://www.itsource.cn/

你可能感兴趣的:(php中传值赋值和引用赋值)