首页 > 代码库 > php报警:Strict Standards: Only variables should be passed by reference in

php报警:Strict Standards: Only variables should be passed by reference in

错误原因

因为end函数的原因。

end函数: mixed end    ( array &$array   )

你可以看到end的参数是一个引用(reference),而你只能把一个变量的引用作为一个参数传给函数,而你直接把explode(‘.‘,$name)作为参数传给end函数,所以才有这个提示。

你可以这样修改,先定义一个变量,然后把这个变量传给end函数 

解决方案: 打开includes/lib_main.php 把代码一 改成 代码二 即可解决错误。

代码一

1 function get_dyna_libs($theme, $tmp)2 {3     $ext = end(explode(‘.‘, $tmp));

代码二

1 function get_dyna_libs($theme, $tmp)2 {3     $extvar = explode(‘.‘, $tmp);4     $ext = end($extvar);5     $tmp = basename($tmp,".$ext");