<?php $a="abc"; is_ref=0 ref_count=1 $b=$a; is_ref=0 ref_count= 2 $c=&$a; is_ref=1 ref_count 2 即a c 共用一個zval, b單獨用一個zval 固然 ref_count爲1 $c=2; $a=range(10000); $b=&$a; count($a1); 至關於 $a1=$a; 那麼在count內部須要複製$a,由於在php7以前 引用變量 和非引用變量不能使用同一個zval,必須分享 php7不分離,只有當$a1改變時,才分離
$a=range(10000) refcount 1php
$b=&$a ref (refcount=2) val(refcount=1)php7
$a1=$a ref(refcount=2) val(refcount=2)spa
unset($a) ref(refcount=1) val(refcount=2)code
unset($b) ref (refcount =0 delete) val(refcount = 1)blog
unset($a1) val(refcount=0 回收內存 zend_string)內存