首頁 >後端開發 >php教程 >php函數傳值的參考傳遞注意事項分析

php函數傳值的參考傳遞注意事項分析

不言
不言原創
2018-06-04 17:30:581512瀏覽

這篇文章主要介紹了php函數傳值的引用傳遞注意事項,涉及php設定檔的設定及陣列函數的使用技巧,需要的朋友可以參考下

本文實例講述了php函數傳值的引用傳遞注意事項。分享給大家參考,具體如下:

Strict standards: Only variables should be passed by reference

網上查到資料有這麼一句話:

在php5.3以上版本會出這個問題,應該也跟php的配置有關,只要把這一句拆成兩句就沒問題了。 因為array_walk的參數是引用傳遞的,5.3以上預設只能傳遞具體的變量,而不能透過函數傳回值。 當然你也可以修改php.ini 裡的 error_reporting = E_ALL | E_STRICT,但這終究不符合規範。

$suffix = array_pop(explode(".",$file_name));

為什麼高版的會這樣子限制呢?

我去看手冊中的函數原型:

mixed array_pop ( array &$array )
bool array_walk ( array &$array , callable $funcname [, mixed $userdata = NULL ] )

&符號指定了變數傳入進去,是引用方式傳遞。

改為:

$file_name_arr = explode(".",$file_name);
$suffix = array_pop($file_name_arr);

就可以。

其實也只是報出一個警告。不是致命錯誤。正常結果是能夠得到。例如這裡得到檔名的後綴,是正常的。

相關建議:

php函數mkdir實作遞歸建立層級目錄的方法

php函數參考表 

#########

以上是php函數傳值的參考傳遞注意事項分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn