QQ 1640076782

2014年02月28日

Strict Standards: Only variables should be passed by reference in…

Filed under: phper — 标签:, , — lijie @ 1:36 上午

最近很多空间都强制升级为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