はじめに
配列に特化した関数です。応用情報の勉強をしていてphpの勉強がおざなりになっていたのでしっかりやっていこうと思います。
高階関数
配列に特化した関数といえばいいのでしょうか
引数に配列と関数を使用します。
array_mapとarry_filterを見ていきます。
array_map()
配列の値全てに対して関数を実行します。
//渡された値を2乗して返す関数
function double($n){
return $n * $n;
}
$nums = [1,3,5,7];
$newNums = array_map('double', $nums);
print_r($newNums);
Array([0] => 1 [1] => 9 [2] => 25 [3] => 49)
array_mapの第一引数のdouble関数に、第二引数のnumsの値が1つずつ渡され実行されます。
doubleの返り値が入った配列が返ってきます。
array_filter()
//渡された値が偶数なら返す関数
function even($n){
return ($n % 2) === 0;
}
$nums = [1,2,3,4,5,6];
$newNums = array_map('double', $nums);
print_r($newNums);
Array([0] => 2 [1] => 4 [2] => 6)
おわりに
配列は使う頻度が高いのでとても便利ですね。ちなみに応用情報は落ちたと思います。今回のデータベースですがスキーマについての問題が出て全く分かりませんでした。あと3回くらい受けたら受かるかな...?