概要
array_map()
関数は、引数で指定した配列の各要素にコールバック関数を適用した配列を返す。
コールバックの指定方法として、文字列で関数名を渡す方法と、Ver5.3.0以降ではラムダ関数を引き渡す方法がある。
コールバックを文字列で渡す方法
以下の処理では、array_map()
の第1引数に文字列でコールバックの関数名を渡している。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function double($value) { return $value * 2; } $array = [0, 1, 2, 3]; print_r(array_map('double', $array)); // Array // ( // [0] => 0 // [1] => 2 // [2] => 4 // [3] => 6 // ) |
コールバックをラムダ関数で渡す方法
以下の処理では、ラムダ式で無名関数を変数にバインドし、array_map()
の第1引数にその変数を渡している。結果は上と同じ。
1 2 3 4 5 6 7 |
$double = function($value) { return $value * 2; }; $array = [0, 1, 2, 3]; print_r(array_map($double, $array)); |
無名関数を直接渡す方法
以下の処理では、無名関数を変数にバインドせず、array_map()
の第1引数に直接書いている。
1 2 3 |
$array = [0, 1, 2, 3]; print_r(array_map(function ($v) { return $v * 2; }, $array)); |