<?php 传值赋值
$a = 3; $b = 5; $a = $b; // $a = $b发生了什么? 把$b 的值,读出来,再把值放到$a的空间里,即赋值给$b, echo $b; //5 echo $a, $b; // 5 5 // 因是将$b的值取出来赋值给$a的,所以 $a 和$b 两者之间是没有关系的,因$a和$b的值各自放在自己的内存空间。 $b = 99; echo $a, $b; //5 99 // // 既 把$b的值传递给$a。 以上就是传值赋值
引用赋值 $a = 3; $b = 5; $a = &$b; //此事发生了什么 ? 既 $a指向了$b 的内存地址; // 既两个变量指向了同一个内存空间,既两者是有联系的, echo $a, $b, '<br>'; //5 5 $b = 9; echo $a, $b, '<br>'; //9 9 // 注意::因$a和$b 都指向同一块内存空间, 认你修改其中一个变量的值,内存空间存储的值都将会变化,所以不管是修改$a还是$b ,他们最终的值都是一样的、 unset($b); echo $a; //9 // 为什么是9 呢? 因为$a和$b 两个变量指向同一个地址 // 因为变量的销毁机制是, 当某段地址存的值,有一个变量指向他的时候就不会被销毁 则, // $b 销毁了,但是$a, 没有销毁 则$a为9