& new MyClass()与PHP中的新MyClass()

时间:2011-11-22 01:13:19

标签: php

以下是否有任何区别?

$myVar=&new MyClass();
$myVar=new MyClass();

我在PHP编码

3 个答案:

答案 0 :(得分:6)

如果使用PHP5,则没有区别。

如果使用PHP4,前者会传递对新对象的引用。

  

这是因为默认情况下“new”不会返回引用,而是返回一个副本。

Source

Give this a read, too

答案 1 :(得分:3)

使用PHP5?然后你应该使用以下内容:

$myVar=new MyClass();

这是初始化类的可接受方式。


启用E_STRICT时使用以下内容:

$myVar=&new MyClass();

将导致PHP运行时引发警告Deprecated: Assigning the return value of new by reference is deprecated

答案 2 :(得分:0)

&new已从PHP7中删除,您必须使用new

  

通过引用分配新的

     

由于PHP 5.3通过引用分配新表达式   弃用。它可以用正常的赋值替换1):

     

//而不是$ obj =&新的ClassName;

     

//写$ obj = new ClassName;

     

不再需要通过引用分配返回值   PHP 5.0。

检查此帖子https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7