Php 将对象引用取消移位到数组中

Php 将对象引用取消移位到数组中,php,Php,因此,我可以使用& $a = (object) array('a' => 1); $b[]='test'; $b[] = &$a; $a->b = 2; var_dump($b); 结果: array (size=2) 0 => string 'test' (length=4) 1 => & object(stdClass)[2] public 'a' => int 1 public 'b' => in

因此,我可以使用
&

$a = (object) array('a' => 1);
$b[]='test';
$b[] = &$a;
$a->b = 2;
var_dump($b);
结果:

array (size=2)
  0 => string 'test' (length=4)
  1 => &
    object(stdClass)[2]
      public 'a' => int 1
      public 'b' => int 2
但是如何将引用“推”到数组的开头呢

我试过了

array_unshift($b, &$a);

但是我得到了一个致命的错误:调用时间传递引用被删除了,因为它是一个对象,
$a
本身已经(某种程度上)是一个引用了*。您根本不需要涉猎
参考资料:

array_unshift($b, $a);

*对象是唯一的,不会在指定时复制。对象的更改将在共享该对象的所有变量中可见。

我现在有了更好的理解。而
array\u push
具有与
$b[]=&$a