PHP 传值和传引用、传地址的区别

传值,

是把实参的值赋值给行参

那么对行参的修改,不会影响实参的值

传地址

是传值的一种特殊方式,只是他传递的是地址,不是普通的如int

那么传地址以后,实参和行参都指向同一个对象

传引用

真正的以地址的方式传递参数

传递以后,行参和实参都是同一个对象,只是他们名字不同而已

对行参的修改将影响实参的值  

  $a = "123";
$b = &$a;
echo $a."-".$b; // 输出:123-123
echo "<br/>";
$b = "456465"; // 输出:456465-456465
echo $a."-".$b;
// 结论 :
// PHP 传引用时 形参 发声改变的时候 实参也发生改变;

仅讨论一下值传递和引用:

所谓值传递,就是说仅将对象的值传递给目标对象,就相当于copy;系统将为目标对象重新开辟一个完全相同的内存空间。

所谓引用,就是说将对象在内存中的地址传递给目标对象,就相当于使目标对象和原始对象对应同一个内存存储空间。此时,如果对目标对象进行修改,内存中的数据也会改变。