PHP 7 是否支持按引用传递?

4

最近我们将 PHP 5.6 迁移到了 PHP 7

现在以下代码会出错 $this->a =& new test($this->f);

Parse error: syntax error, unexpected 'new' (T_NEW) 

有什么想法吗?我可以用什么替代方案呢?

3个回答


5
为了澄清Marc B的回答:只需像这样删除“&”符号。
$this->a = new test($this->f);

4
您可以采取以下替代方案:
$test = new test($this->f);
$this->a = $test;

现在,$test是通过引用传递的,如果您更改$this->a的属性,$test的属性也会发生变化。反之亦然。
PHP 7默认为“按引用传递”。如果不想通过引用传递对象,应该这样做:
$a = clone $b;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接