錯誤:第 6 行的 * 中只能通過參考傳遞變數
第 6 行:
$subdomain = array_shift((explode('.', $_SERVER['HTTP_HOST'])));
我可以忽略這個警告嗎?把它拋在腦后讓我很困擾。
uj5u.com熱心網友回復:
因為 array_shift 需要一個指向陣列的指標,explode 給出了一個陣列,但是因為你沒有將它保存到一個變數中,你實際上并沒有傳遞一個指向它的指標,所以你傳遞了整個陣列。
$array = explode('.', $_SERVER['HTTP_HOST']);
$subdomain = array_shift($array);
多一點解釋。
explode('.', $_SERVER['HTTP_HOST'])創建一個陣列,
$array = 意味著將 $array 設定為該陣列的指標/參考
array_shift獲取一個陣列的指標/參考,它不會直接接受一個陣列,這曾經用array_shift(&$array);表示
但是這樣做的原因是因為 array_shift 改變了原始陣列,所以如果您無法訪問保存的原始陣列,它將執行您無法訪問的作業,因此這是毫無意義的加載
uj5u.com熱心網友回復:
是的你可以。要洗掉 PHP 中的警告,請使用 error_reporting(),如下所示:
error_reporting(E_ALL ^ E_WARNING);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/505791.html
