2012-06-18 76 views
3

不被用於PHP,我面臨訪問數組及其子數據的問題。PHP變量訪問數組中的變量

$form['signatories']['signatory1'] = array(...); 

我必須創建一個「指針」在上面的行創建數組,我希望下面的工作:

$cluster = $form['signatories']['signatory1']; 

測試我訪問相同的「存儲空間」證明我錯:

$cluster['signatory_name'] = array(...) 
// $form['signatories']['signatory1'] has no elements 
// $cluster has a sub element 

像羣集是我希望它指向的數組的副本。

我該如何繼續?我嘗試使用某些博客中提到的「&」參考標誌,但這沒有幫助。

謝謝! J.

+1

你可以發佈'print_r($ form)'的結果嗎?'讓事情更清楚 –

回答

6

默認情況下,PHP中的賦值是通過值,而不是引用,除了對象。

如果你想傳遞給原來的數組的引用,你需要明確創建一個參考:

$cluster = &$form['signatories']['signatory1']; 

assigning by reference PHP手冊。

+1

+1,這裏是一個工作示例http://codepad.org/Cbzj6kfu –

1

可以使用=&通過reference分配:

$cluster =& $form['signatories']['signatory1']; 

實際上,這是兩個操作。第一個是&$form['signatories']['signatory1'],它給你一個參考$form['signatories']['signatory1']。第二個是=,它明顯地將參考分配給$cluster

+0

嘿,那很完美。非常感謝! – Jem