PHP报错Only variables should be passed by reference原因及解决方法

报错

PHP Strict Standards: Only variables should be passed by reference

代码如下

array_shift(explode(' ', $tag));

产生原因

PHP5.3以上默认只能传递具体的变量,而不能通过函数返回值传递。例如array_shift(),end()等操作数组的方法。

因为这些方法会使传入的数组本身内部的指针发生变化,所以使用的是传引用的方式;因此只支持直接传递参数,而不支持通过函数的返回值来传递

解决办法

只需要分开写就不会报错了,例如上面的代码,改成:

$array = explode(' ', $tag);
array_shift($array);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容