我有兩個數組。一個會添加數組作爲子元素,另一個保存對第一個數組添加的引用。php一個參考數組
$list=array();
$stack=array();
在for循環中:
$list[]=array('something');
$stack[]=& end($list); //errors: Only variables should be assigned by reference
我到底做錯了什麼?感謝幫助。
我有兩個數組。一個會添加數組作爲子元素,另一個保存對第一個數組添加的引用。php一個參考數組
$list=array();
$stack=array();
在for循環中:
$list[]=array('something');
$stack[]=& end($list); //errors: Only variables should be assigned by reference
我到底做錯了什麼?感謝幫助。
被修改
$stack[] = &$list[count($list)-1]; //> Assuming numeric index incremental
或
end($list);
$stack[] = &$list[key($list)];
這樣,引用是$ var,而不是結束($ list)?對??我希望引用結尾($ list),所以它不會在for循環之外解除。 – bingjie2680
'&='意味着不同的東西。可能不是什麼意圖。 – duskwuff
@duskwuff:這顯然是一個錯字。您可以編輯 – dynamic
對象將總是通過引用PHP傳遞5.
EDITED
但是如果陣列是不一類然後
$element = array();
$list[] = &$element;
$stack[] = &$element;
對不起,我是一個初學者在PHP。數組也一樣嗎? – bingjie2680
如果您使用PHP數組,則代碼更簡單。當然,你需要將填充數組傳遞給$元素。 – Gedrox
所以列表和堆棧都是引用$元的數組? – bingjie2680
錯誤消息似乎不言自明。爲什麼'新陣列'?只是'陣列'會做。 –
@tomalak,對不起,這是一個錯誤。 – bingjie2680