最近很多空间都强制升级为5.3以上的版本了,导致网站程序出现了些不兼容问题
Strict Standards: Only variables should be passed by reference in
这个就是关于php内置函数问题
$str = 'blue,red,white';
echo end(explode(',', $str));
这样直接输出就会报如上错误 但是如果你要这么写就可以正确输出
$str = 'blue,red,white';$end=explode(',', $str)echo end($end); //输出white
这是因为end接受的参数是一个array的引用。而end(explode(',', $str))中explode返回值不是任何array的
引用,所以在“Strict Standards”下会有上述提示。解决办法很简单,只需要把end(explode(‘.’, $str))分两步写即可。第一步先把explode的返回值赋给一个变量,第二步把这个变量作为end参数。会出现这个错误的不仅仅是end这个函数,还有内置的array_pop、shuffle、curent、next、prev、next,reset...
下次如果再遇到这种问题只需要分两步进行处理即可
如果你有外贸企业网站建站需求,欢迎随时联系我们
QQ客服:415682727
电话:020-39907297