php变量 写时改变 写时复制
写时复制
$var = 1;
$var2 = $var; #此时$var2 与 $var 指向同一个zval refcount = 2;
$var = 2; # 此时$val 改变 所以 $var 与 $var2 指向的zval不能相同了 给$var 新建了一个zval 称为:写时复制 (复制zval)
写时分离
$var3 = 1;
$var4 = &$var; #此时$var3 与 $var4 指向同一个zval refcount = 2, is_ref = 1;
$var3 = 2; #此时$var3与$var4 仍然指向同一个zval refcount = 2, is_ref = 1; 没有新建zval 成为:写时改变;
$var5 = $var3; #此时会为$var5 新建一个zval 因为 $var3 指向的zval的is_ref = 1 即存在(写时改变)关联;
由此可见, $a=$b; 与 $a=&$b; 在PHP对内存的使用上没有区别(值不变化时);
http://www.cnblogs.com/a-flydog/p/6122695.html
http://www.laruence.com/2008/09/19/520.html