您的位置 首页 网络教程

Deprecated: Assigning the return value of new by reference is deprecated解决方法(PHP5.3)

最近在iis5.1下安装了php5.3.3,但很多程序出现Deprecated: Assigning the return value of new by reference is deprecated,找了半天才知道是php版本变动的原因。解决方法如下:

After hours of confusion and reading tons of posts I finally figured out that replacing PHP 4 style object creation, where new is assigned by reference:

$node_obj =& new someClass($somearg, $moreargs);

which in PHP 5.3.0 generates an E_STRICT message telling you that "Assigning the return value of new by reference is deprecated"

with the following, where & has been removed:

$node_obj = new someClass($somearg, $moreargs);

in some cases (at least in recursive loops while creating a tree of nodes containing child nodes) requires

unset($node_obj);

before the actual object assignment line to avoid all child nodes becoming identical.

Hope that delicate piece of information will save someone else a few hours.

关于作者: 闲吧

热门文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注