慎用array filter函式

2022-03-26 19:56:27 字數 827 閱讀 6066

(php 4 >= 4.0.6, php 5, php 7)

array_filter — 用**函式過濾陣列中的單元

arrayarray_filter( array$array[, callable$callback[, int$flag= 0 ]] )

依次將array陣列中的每個值傳遞到callback函式。如果callback函式返回 true,則array陣列的當前值會被包含在返回的結果陣列中。陣列的鍵名保留不變。

array

要迴圈的陣列

callback

使用的**函式

如果沒有提供callback函式, 將刪除array中所有等值為false的條目。更多資訊見轉換為布林值。

flag

決定callback接收的引數形式:

返回過濾後的陣列。

array_filter其實是乙個相當好用的函式,常用的場景包括,表單多條件篩選,可以直接用此函式過濾掉沒有值的篩選項。

但是有乙個問題,必須要重視:

當你的篩選項裡有值等於0時,問題就會暴露出來,在我們的專案裡,在調介面時做了過濾,沒想到有乙個預設的狀態等於0的引數被我過濾掉了,就造成了線上資料的失常,也算是乙個比較低階的錯誤了。此文謹記。

php陣列函式 array filter

array filter 函式用 函式過濾陣列中的元素,如果自定義過濾函式 返回true,則被操作的陣列的當前值就會被包含在返回的結果陣列中,並 將結果組成乙個新的陣列。如果原陣列是乙個關聯陣列,鍵名保持不變。array filter array,function array 必需。規定輸入的陣列 ...

array filter函式的應用

arrayarray filter array input callable callback 依次將input陣列中的每個值傳遞到callback函式。如果callback函式返回true,則input陣列的當前值會被包含在返回的結果陣列中。陣列的鍵名保留不變。如果沒有提供callback函式,將...

慎用extract 函式

問題在於 如果沒有指定 extract type,則被假定為 extr overwrite。覆蓋就意味著,假如在使用extract之前存在乙個跟陣列中索引值相等的變數名。那麼,就會覆蓋掉之前的變數值。所以 使用該函式時一定要定義extract type。不要讓其按預設值處理了。不定義就按預設值。網上...