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
)&符號指定了變數傳入進去,是引用方式傳遞。
改為:
$file_name_arr = explode(“.”,$file_name);
$suffix = array_pop($file_name_arr);
$suffix = array_pop($file_name_arr);
就可以。
實際上也只是報出一個警告。不是致命錯誤。正常結果是能夠得到。比如這裡得到檔名的字尾,是正常的。
相關文章
- Python的函式引數傳遞:傳值?引用?Python函式
- php函式引用傳遞引數的方法PHP函式
- js中函式引數值傳遞和引用傳遞JS函式
- JavaScript的值傳遞和引用傳遞JavaScript
- 值傳遞和引用傳遞
- 值傳遞與引用傳遞
- Java中的值傳遞和引用傳遞Java
- js函式引數值傳遞和引用傳遞簡單介紹JS函式
- (求教)關於js函式按值、引用傳遞的問題JS函式
- 快速搞懂值傳遞與引用傳遞
- 關於值傳遞和引用傳遞的解釋
- PHP中物件的引用傳遞PHP物件
- Golang中函式傳參存在引用傳遞嗎?Golang函式
- Java - 是值傳遞還是引用傳遞Java
- ES5中的值傳遞/引用傳遞--解釋
- js中 函式引數的 傳值/傳引用 問題JS函式
- 面試官問:Go 中的引數傳遞是值傳遞還是引用傳遞?面試Go
- 解惑4:java是值傳遞還是引用傳遞Java
- golang工作筆記(二)值傳遞與引用傳遞Golang筆記
- java方法中只有值傳遞,沒有引用傳遞Java
- JS是按值傳遞還是按引用傳遞?JS
- php 傳值與傳引用的理解(通俗易懂)PHP
- jquery獲取ajax傳遞的值一個需要注意的地方jQuery
- Java引數傳遞是傳值還是傳引用?Java
- react 外部函式的引用以及onClick傳遞引數React函式
- Java 從陣列來看值傳遞和引用傳遞Java陣列
- 如果一定要傳遞陣列的引用,PHP7 裡面咋整陣列PHP
- 傳遞函式函式
- html、php和js值的傳遞(使用ajax進行傳遞)HTMLPHPJS
- C#程式設計引用型別和值型別 以及引用傳遞和值傳遞C#程式設計型別
- GO中的函式設計時候,引數傳遞選擇傳遞值還是傳遞指標?Go函式指標
- 這一次,徹底解決Java的值傳遞和引用傳遞Java
- 函式的引數傳遞函式
- PHP 物件導向 (四)類物件賦值為引用傳遞PHP物件賦值
- Python 函式中,引數是傳值,還是傳引用?Python函式
- 偽命題:Java傳遞的值還是引用?Java
- Go語言引數傳遞是傳值?還是傳引用 ?Go
- Go語言引數傳遞是傳值還是傳引用Go