<?php $a=1; echo "<pre>"; xdebug_debug_zval('a'); $b=&$a; xdebug_debug_zval('a'); $b=2; xdebug_debug_zval('a'); var_dump($a); unset($b); var_dump($a); $data=['a','b','c']; foreach($data as $k=>$v){ $v=&$data[$k]; } print_r($data);
unset只是断掉引用而已
a:
(refcount=1, is_ref=0),
int
1
a:
(refcount=2, is_ref=1),
int
1
a:
(refcount=2, is_ref=1),
int 2
base.php:9:int 2
base.php:11:int 2
Array ( [0] => b [1] => c [2] => c )
php的变量是写时复制 cow
null++是1,boolean的++对其没有任何影响
<?php $a; $b=true; var_dump($a); //null var_dump($b); //true $a++; $b++; var_dump($a); //1 var_dump($b);//true