報錯
PHP Strict Standards: Only variables should be passed by reference
代碼如下
array_shift(explode(' ', $tag));
產(chǎn)生原因
PHP5.3以上默認只能傳遞具體的變量浑塞,而不能通過函數(shù)返回值傳遞。例如array_shift(),end()等操作數(shù)組的方法。
因為這些方法會使傳入的數(shù)組本身內(nèi)部的指針發(fā)生變化裙品,所以使用的是傳引用的方式驹针;因此只支持直接傳遞參數(shù)逞刷,而不支持通過函數(shù)的返回值來傳遞
解決辦法
只需要分開寫就不會報錯了纠俭,例如上面的代碼,改成:
$array = explode(' ', $tag);
array_shift($array);