一、结构体
struct _zend_reference {
zend_refcounted_h gc;
zval val;
}
二、gdb 调试, 定义 ref.php文件,以下代码也是面试题常考的。
<?php
$a = "string";
$b = &$a;
echo $a;
echo $b;
$b = "hello";
echo $a;
echo $b;
unset($b);
echo $b;
echo $a;
1、打印出 echo $a 和 $b 都对应一个 ref 类型。
这个时候它们的 refcount = 2, 而对应的 zval.str的 refcount = 1。
如图: