php 配列の各値にコールバック関数を適用した結果を返す

  • 作成日 2020.12.25
  • php
php 配列の各値にコールバック関数を適用した結果を返す

phpで、array_mapを使用して、配列の各値にコールバック関数を適用した結果を返すサンプルコードを記述してます。phpのバージョンは8.0です。

環境

  • OS  CentOS Stream release 8
  • php 8.0.0
  • nginx 1.14.1

array_map使い方

array_mapを使用すれば、配列の各値にコールバック関数を適用した結果を返すことが可能です。

配列 = array_map(コールバック関数, 配列);

以下は、配列の各値を二倍するサンプルコードとなります。

<?php

function calc($x) {
    return $x * 2;
}

$arr = [1, 2, 3, 4, 5];

$arr = array_map('calc', $arr);

print_r($arr);

実行結果

Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

パフォーマンスは、少し悪くなりますが、アロー関数を使用することも可能です。

<?php

$arr = [1, 2, 3, 4, 5];

$arr = array_map(fn ($x) => $x * 2, $arr);

print_r($arr);