php-使用新变量赋值时出现意外行为

php-使用新变量赋值时出现意外行为,php,class,variable-assignment,Php,Class,Variable Assignment,我对下面的代码示例有点困惑。我猜第二个赋值$ins=newa()将覆盖先前的$ins引用 我也不理解#1,#2,也不理解var\u dump输出中的(1)、(1),我希望至少(0)、(0) 提前谢谢 class A{ public $var = 2; } $ins = new A(); $aux = &$ins; $ins->var = 3; var_dump($aux); echo '<br>'; $ins = new A(); $ins-&g

我对下面的代码示例有点困惑。我猜第二个赋值
$ins=newa()
将覆盖先前的
$ins
引用

我也不理解
#1
#2
,也不理解
var\u dump
输出中的
(1)、(1)
,我希望至少
(0)、(0)

提前谢谢

class A{

    public $var = 2;

}

$ins = new A();

$aux = &$ins;

$ins->var = 3;

var_dump($aux);
echo '<br>';

$ins = new A();

$ins->var = 5;

var_dump($aux);

PHP引用是一个别名,它允许使用两个不同的变量 写入相同的值。从PHP5开始,对象变量不起作用 不再将对象本身作为值包含。它只包含一个对象 允许对象访问器查找实际对象的标识符。 通过参数发送、返回或分配给另一个对象时 变量,不同的变量不是别名:它们包含 指向同一对象的标识符


1表示它在数组中作为值计数看到的值的数量。谢谢,我在那里找到了答案
object(A)#1 (1) { ["var"]=> int(3) }
object(A)#2 (1) { ["var"]=> int(5) }