3

不习惯 php,我在访问数组及其子数据时遇到了问题。

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

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

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

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

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

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

我应该如何进行?我尝试使用某些博客中提到的“&”参考符号,但这没有帮助。

谢谢!J。

4

2 回答 2

6

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

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

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

请参阅PHP 手册中的通过引用分配。

于 2012-06-18T14:11:54.353 回答
1

您可以使用=&通过引用分配:

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

实际上这是两个操作。第一个是&$form['signatories']['signatory1']为您提供参考$form['signatories']['signatory1']。第二个=显然将引用分配给$cluster.

于 2012-06-18T14:11:20.457 回答