帮助中心 >  技术知识库 >  网站相关 >  程序开发 >  PHP-Only variables should be passed by reference错误

PHP-Only variables should be passed by reference错误

2019-02-08 11:52:23 3934

Only variables should be passed by reference,即该方法的变量(variables )只能通过引用(reference)来传递。一般是传参导致的错误。


常见情况,直接拿explode()的结果去传入给某个方法,而这个方法的变量(variables )只能通过引用(reference)来传递。


 例如, 



 $date = '2019-01-11';

$day  = array_pop(explode('-',$date));

这里explode()返回的是一个数组(array)的值(即,具体的内容),而array_pop()的变量要求是一个引用(reference)。


具体见文档 mixed array_pop ( array &$array )。


类似的array_shift(),end(),prev()等等都会报以上的错误。 


【解决办法】:

将explode()返回的数组先赋值给一个变量,再将变量传入该方法即可。 


例如, 


 $date = '2019-01-11';

 $arrDate = explode('-',$date);

 $day  = array_pop($arrDate);


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: