php Only variables can be passed by reference

最近做项目,发现了一个报错  Only variables can be passed by reference,  意思是“只有变量能通过‘引用’”


就是在代码中 使用了一个方法,这个方法的参数值传址引用的例如php的 end方法


php官网的说法


(PHP 4, PHP 5)

end — 将数组的内部指针指向最后一个单元

说明 ¶

mixed end ( array &$array )

end() 将 array 的内部指针移动到最后一个单元并返回其值。

参数 ¶

array

这个数组。 该数组是通过引用传递的,因为它会被这个函数修改。 这意味着你必须传入一个真正的变量,而不是函数返回的数组,因为只有真正的变量才能以引用传递。

返回值 ¶

返回最后一个元素的值,或者如果是空数组则返回 FALSE

错误的使用:

end( explode(".", $file_name) )


正确的使用

$file_extend = explode(".", $file_name);

end($file_extend);