使用PHP SplDoublyLinkedList的引用

使用PHP SplDoublyLinkedList的引用,php,arrays,reference,spl,Php,Arrays,Reference,Spl,我试图修改数组的值,它本身就在一个链表中 听起来像: $z = new SplDoublyLinkedList(); $z->push(array('Hello', 0)); $z->push(array('world', 4)); $p = & $z->offsetGet(1); // reference ? $p[0]='change'; // indirecti

我试图修改数组的值,它本身就在一个链表中 听起来像:

  $z = new SplDoublyLinkedList();

  $z->push(array('Hello', 0));
  $z->push(array('world', 4));

  $p = & $z->offsetGet(1);                // reference ?

  $p[0]='change';                         // indirection like ? 
  $p[1]=5;


  $q = &$z->offsetGet(1);                 // element of my array remains "world", 4
但它不起作用。 当然,如果我推类对象,它会工作

有没有办法使数组具有相同的行为? ...
显然,根据SplDoublyLinkedList声明,我不能

使用偏移集方法

  $z = new SplDoublyLinkedList();

  $z->push('Hello');
  $z->push('world');

  $z->offsetSet(0, 'change');
  $z->offsetSet(1, 5);


  $q = $z->offsetGet(1);

我认为这个类不接受数组作为push的输入类型。

你知道你的代码会触发一个警告~PHP严格标准:只有变量应该通过引用赋值你也有警告吗?我有严格的标准:对于第8行和第14行,只有变量应该通过引用进行分配。您必须滚动,因为不通过引用进行设置。