PHP Call-time pass-by-reference has been removed 错误解决
依旧是做到题目的时候发现了这个问题,可能是PHP版本不同引发的问题,然后默默的搜索了一下。
按引用传参,其实只用在定义时指定
"&"
即可,调用时不用写,只不过一直以来都这么写也没报过错,看来是5.4版增强了检查,不允许这种调用了。 调用时去掉"&"
,只保留方法定义中的"&"
,这次一切OK了。
本来题目中是让我这么写的:
1 $num = 10;
2 function demo($number) {
3 $number = $number + 20;
4 }
5
6 demo(&$num);
7 echo $num,"\n";
8
然后报错了,现在我改成:
1 $num = 10;
2 function demo(&$number) {
3 $number = $number + 20;
4 }
5
6 demo($num);
7 echo $num,"\n";
8
就没事了,定义时在函数中也就是function
时嘛~
评论 (0)