PHP array_filter 引数付き 質問する

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 から $num または任意の数値に 10 を渡して呼び出すにはどうすればよいでしょうか?

ベストアンサー1

PHP 5.3以上を使用している場合は、閉鎖コードを簡素化するには:

$NUM = 5;
$items = array(1, 4, 5, 8, 0, 6);
$filteredItems = array_filter($items, function($elem) use($NUM){
    return $elem < $NUM;
});

おすすめ記事