PHP变量来访问数组中的变量

时间:2012-06-18 14:08:14

标签: php arrays reference

不习惯使用php,我遇到了访问数组及其子数据的问题。

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

我必须为上面一行中创建的数组创建一个“指针”,我期望以下工作:

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

测试我访问相同的“内存空间”证明我错了:

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

like cluster是我希望它指向的数组的副本。

我该怎么办?我尝试使用“&”某些博客中提到的参考标记,但这没有帮助。

谢谢! 学家

2 个答案:

答案 0 :(得分:6)

默认情况下,PHP中的赋值是按值而不是引用,除了对象。

如果要传递对原始数组的引用,则需要显式创建引用:

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

请参阅PHP手册中的assigning by reference

答案 1 :(得分:1)

您可以=&使用$cluster =& $form['signatories']['signatory1']; 分配:

&$form['signatories']['signatory1']

实际上这是两个操作。第一个是$form['signatories']['signatory1'],它为您提供=的引用。第二个是$cluster,显然会将引用分配给{{1}}。