我的腳本有一個小問題。嚴格的標準php錯誤
我越來越嚴格的標準:只有變量應該按引用傳遞在
if($checkDNS && ($domain = end(explode('@',$email, 2))))
我的腳本有一個小問題。嚴格的標準php錯誤
我越來越嚴格的標準:只有變量應該按引用傳遞在
if($checkDNS && ($domain = end(explode('@',$email, 2))))
該數組是通過引用傳遞,因爲它是由函數修改。這意味着您必須將它傳遞給一個實變量,而不是返回數組的函數,因爲只有實際變量可以通過引用傳遞。
所以你必須在最後函數中使用的變量:
$domain = explode('@',$email, 2);
if($checkDNS && ($domain = end($domain)))
這項工作。謝謝。 –
從手冊:
mixed end (array &$array)
end
需要通過引用數組並移動內部指針。你的數組是函數輸出,所以它無法通過引用正確修改數組。
像有消息稱,年底預計變量,因爲它的參數是一個參考。
但由於PHP 5.4,你可以解引用數組這樣的:
$domain = explode('@',$email, 2)[1];
假設$電子郵件始終包含@
。你應該事先保證,否則結束(...)也會給你意想不到的結果。
[嚴格標準:只有變量應通過引用傳遞]的可能重複(http://stackoverflow.com/questions/2354609/strict-standards-only-variables-should-be-passed-by-reference) –