亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

 $ext=strtolower(end(explode(".", $val)));

end();函數的php文檔的介紹:The array.  This array is passed by reference because it is modified by the function.  This means you must pass it a real variable and not a function returning an array because only actual variables may be passed by reference.

我看的意思是不能通過函數返回數組,為什么這么寫可以呢。

 $ext=strtolower(end(explode(".", $val)));這段代碼在index.php的325行。

求解??!謝謝!

正在回答

4 回答

你看到end這個函數是只能的參數是取變量的地址,不可以直接把值直接傳進去,所以會報這個警告。當PHP5.3以后嚴格校驗的時候就會報這個問題。只能傳變量,不可以直接寫值。

1 回復 有任何疑惑可以回復我~

有老師能解釋一下具體的原因嗎,為什么必須通過一個變量引用才行呢,Java中這樣寫好像可以,php中所有的函數是不是都必須通過變量引用才行,還是個別的。

0 回復 有任何疑惑可以回復我~

 $arr=explode(".", $val);

     $ext=strtolower(end($arr));

這樣改就行了。

0 回復 有任何疑惑可以回復我~

我測試一下,報錯了,Strict Standards: Only variables should be passed by reference in。我自己的代碼和下載的源碼都出現同樣的錯誤。

不知道你們的是否和我的一樣。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號