PHP报错:Only variables should be passed by reference
清泛原创
错误信息如下:
Strict Standards: Only variables should be passed by reference in xxx\ecshop\includes\cls_template.php on line 406
第406行:$tag_sel = array_shift(explode(' ', $tag));
解决办法 1 :
5.3以上版本的问题,应该也和配置有关 只要406行把这一句拆成两句就没有问题了
$tag_sel = array_shift(explode(' ', $tag));
改成:
$tag_arr = explode(' ', $tag);
$tag_sel = array_shift($tag_arr);
(实验过,绝对可行)
因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
解决办法 2 :
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
Strict Standards: Only variables should be passed by reference in xxx\ecshop\includes\cls_template.php on line 406
第406行:$tag_sel = array_shift(explode(' ', $tag));
解决办法 1 :
5.3以上版本的问题,应该也和配置有关 只要406行把这一句拆成两句就没有问题了
$tag_sel = array_shift(explode(' ', $tag));
改成:
$tag_arr = explode(' ', $tag);
$tag_sel = array_shift($tag_arr);
(实验过,绝对可行)
因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
解决办法 2 :
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
上一篇:libcurl的使用总结
下一篇:Boost智能指针——shared_ptr