让我们假设以下内容:
private $array = array(/*really big multi-dimensional array*/);
public function &func1($specific_large_sub_array_key)
{
return $this->array[$specific_large_sub_array_key]
}
public function func2()
{
$specificArray = &$this->func1(1);
$this->func3($specificArray);
}
public function func3($specificArray)
{
/* do stuff here*/
}
我的问题是这样的:
如果 func3 没有指定 $specificArray 不是通过引用传递给它的,那么 PHP 在 func2 内部调用 func3 时会复制 $specificArray 吗?还是 PHP 会保留引用并自动传播它?
即这会...
public function func3($specificArray)
{
unset($specificArray[234]);
}
...影响$array?
谢谢
请注意,此示例非常简化。