我有以下代碼:PHP array_filter帶參數
function lower_than_10($i) {
return ($i < 10);
}
,我可以用它來過濾像這樣的數組:
$arr = array(7, 8, 9, 10, 11, 12, 13);
$new_arr = array_filter($arr, 'lower_than_10');
我如何添加參數lower_than_10以便它也可以接受要檢查的數字?喜歡,如果我有這個:
function lower_than($i, $num) {
return ($i < $num);
}
如何從array_filter調用它傳遞10到$ num或任何數字?
良好的解決方法。爲了維護代碼,它可能有助於修改類以支持更可讀的方法調用: $ matches = $ myobj-> ArraySelect(Array('from'=> $ arr,'where'=> $ foo,'lessthan'=> 12)) – dreftymac 2011-11-10 00:31:32
我不是一個php savy,所以也許這是一個明顯的問題,但是如何將一個數組傳遞給array_filter並使其工作?除了有人的評論外,文檔從來沒有談論過這個問題。 – 2017-08-17 17:40:11
@NicolaPedretti我假設你在談論'array_filter'的秒參數?它只是一個「可調用的」;在上述匹配「類型3:對象方法調用」的情況下:'數組(,)',參見。 [PHP:Callbacks/Callables - Manual](http://php.net/manual/en/language.types.callable.php)。 –
jensgram
2017-08-18 04:51:14