PHP Call-time pass-by-reference has been removed 错误解决

依旧是做到题目的时候发现了这个问题,可能是PHP版本不同引发的问题,然后默默的搜索了一下。

按引用传参,其实只用在定义时指定"&"即可,调用时不用写,只不过一直以来都这么写也没报过错,看来是5.4版增强了检查,不允许这种调用了。
调用时去掉"&",只保留方法定义中的"&",这次一切OK了。

本来题目中是让我这么写的:

    $num = 10;
    function demo($number) {
        $number = $number + 20;
    }

    demo(&$num);
    echo $num,"\n";

然后报错了,现在我改成:

    $num = 10;
    function demo(&$number) {
        $number = $number + 20;
    }

    demo($num);
    echo $num,"\n";

就没事了,定义时在函数中也就是function时嘛~

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 代码段

添加新评论