不习惯使用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是我希望它指向的数组的副本。
我该怎么办?我尝试使用“&”某些博客中提到的参考标记,但这没有帮助。
谢谢! 学家
答案 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}}。