PHP array_map()で配列の要素に


はじめに

配列の中身一つずつに関数処理を行う際、foreach多用しておりましたが、array_mapで関数処理を行なったほうが記述もスッキリするし、変数の範囲もわかりやすい為、こちらについて記述します。

array_map

array_map — 指定した配列の要素にコールバック関数を適用する
使い方の説明
array_map(?callable callback, array $array, array ...arrays): array

PHPマニュアル

コールバック関数とは

関数
->関数に渡される関数->つまりarray_mapに渡される関数。

つまり

配列の要素に対して、第一引数に記載された関数を一つずつ適用させて、その結果を配列として返す。

例文①基本

function double($num)
{
    return ($num * 2);
}

$nums = [1, 2, 3, 4, 5];
$double_nums = array_map('double', $nums);
print_r($double_nums);

// 結果
Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 5
)

例文②array_mapの引数内で関数処理をする


$nums = [1, 2, 3, 4, 5];
$double_nums = array_map(function($num){
	return $num * 2;
}, $nums);
print_r($double_nums);

// 結果
Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 5
)

さいごに

配列の操作は基本的にはforeachを使ってしまいますが、他の記述方法も考えた上で、どちらが可読性があがるかを考えて使用していきたいです。