關于字符串寫時復制
$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了