使用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行,只有变量应该通过引用进行分配。您必须滚动,因为不通过引用进行设置。