關于字符串寫時復制
$a?=?'bbb'; xdebug_debug_zval('a'); $b?=?$a; xdebug_debug_zval('a'); $b?=?''; xdebug_debug_zval('a'); $aa?=?''; xdebug_debug_zval('aa'); $aa?=?date('Y-m-d'); $bb?=?&$aa; xdebug_debug_zval('aa');
并沒有寫時復制
結果:
a:
(refcount=0,?is_ref=0)string?'bbb'?(length=3)
a:
(refcount=0,?is_ref=0)string?'bbb'?(length=3)
a:
(refcount=0,?is_ref=0)string?'bbb'?(length=3)
2019-05-19
xdebug出來的數據不夠全面,在php7.1.x中,常量字符串的refcount是0,可以GDB試試?
2019-04-23
寫成$a=time()."bbb";refcount就為1了