📑
PHP 配列の高階関数について
今、PHPを学んでいるのですが、配列用の高階関数というものを知りました。
高階関数とは引数に関数を使用できるもの、返り値として関数を返すものになります。
使い方
本記事では配列の値のすべてに関数を実行するarray_mapと配列の値に対してフィルターをかけるarray_filterについて解説します
array_map
//渡された値を2乗して返す
$nums = [1,3,5,7];
$newNums = array_map(fn($n) => $n * $n, $nums);
print_r($newNums); //Array([0] => 1 [1] => 9 [2] => 25 [3] => 49)
array_filter
//渡された値が偶数なら返す
$nums = [1, 2, 3, 4, 5, 6];
$newNums = array_filter($nums, fn($n) => $n % 2 === 0);
print_r($newNums); //Array([0] => 2 [1] => 4 [2] => 6)
foreachなどを使っても書くことができますが、高階関数とアロー関数を使用することによってシンプルに書くことができますね。
Discussion