2011-07-09 227 views
0

我有兩個數組。一個會添加數組作爲子元素,另一個保存對第一個數組添加的引用。php一個參考數組

$list=array(); 
$stack=array(); 

在for循環中:

$list[]=array('something'); 
$stack[]=& end($list); //errors: Only variables should be assigned by reference 

我到底做錯了什麼?感謝幫助。

+0

錯誤消息似乎不言自明。爲什麼'新陣列'?只是'陣列'會做。 –

+0

@tomalak,對不起,這是一個錯誤。 – bingjie2680

回答

1

被修改

$stack[] = &$list[count($list)-1]; //> Assuming numeric index incremental 

end($list); 
$stack[] = &$list[key($list)]; 
+0

這樣,引用是$ var,而不是結束($ list)?對??我希望引用結尾($ list),所以它不會在for循環之外解除。 – bingjie2680

+0

'&='意味着不同的東西。可能不是什麼意圖。 – duskwuff

+0

@duskwuff:這顯然是一個錯字。您可以編輯 – dynamic

0

對象將總是通過引用PHP傳遞5.

EDITED

但是如果陣列是不一類然後

$element = array(); 
$list[] = &$element; 
$stack[] = &$element; 
+0

對不起,我是一個初學者在PHP。數組也一樣嗎? – bingjie2680

+0

如果您使用PHP數組,則代碼更簡單。當然,你需要將填充數組傳遞給$元素。 – Gedrox

+0

所以列表和堆棧都是引用$元的數組? – bingjie2680