2012-06-18 50 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