刘洋
Deprecated: Assigning the return value of new by reference is deprecated解决方法
2010-10-1 03:01
阅读:6985

解决办法:php5.3开始后,废除了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.

转载本文请联系原作者获取授权,同时请注明本文来自刘洋科学网博客。

链接地址:https://wap.sciencenet.cn/blog-1750-368672.html?mobile=1

收藏

分享到:

当前推荐数:0
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?