php中出現Strict Standards: Only variables should be passed by reference in的解決方法

2012013977發表於2017-08-25
這種報錯主要是因為PHP5.3以及PHP5.3以上預設只能傳遞具體的變數,而不能通過函式返回值傳遞,當然也不是所有的PHP函式都不支援這種寫法,具體哪些支援哪些不支援我也不知道,但是遇到這種錯誤通常有兩種解決辦法
1.降低PHP版本到5.3以下(基本不會使用)
2.換一種寫法,例如:
$list = '1x23x56';
$res = end(explode('x',$list)); #會報錯,試驗過end next prev reset sort這幾個都會報錯
$mid = explode('x',$list);
$res = end($mid);  #不會報錯
當然還有資料顯示可以修改php.ini裡面修改error_reporting,改成error_reporting=E_ALL & ~E_STRICT,意思是顯示所有除了嚴格模式的錯誤,個人認為不是好辦法

相關文章