PHPでarray_mapを使う方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPでarray_mapを使う方法について現役エンジニアが解説しています。PHPのarray_map()関数は対象の配列の全要素に対して、引数で渡すコールバック関数の中の処理を適用させて、配列として返す関数です。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

今回は、PHPでarray_mapを使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPでarray_mapを使う方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

array_mapとは

PHPのarray_map()関数とは、対象の配列の全要素に対して、指定した関数を適用させる際に使用します。

引数で渡したコールバック関数の中で処理を適用させ、配列として返すものです。

array_map関数のコードは以下のように記述します。

array_map( コールバック関数名 , $配列1 [, $配列2, $… ] )

第一引数にはコールバック関数名を渡します。

第二引数からはコールバック関数を適用する配列を渡し、カンマ(,)で区切ることで複数の配列を引数で渡すことが可能です。

array_map()関数を使用した際の返り値は、配列になります。

 

array_mapを使う方法

array_map()関数を使用する例を見ていきましょう。

<?php
// 配列の要素を二乗するコールバック関数
function square($value) {
    return $value * $value;
}

$number = array(1, 2, 3, 4, 5);
// 配列にコールバック関数squareを適用する
$result = array_map('square', $number);
print_r($result);

 

実行結果

Array
(
   [0] => 1
   [1] => 4
   [2] => 9
   [3] => 16
   [4] => 25
)

上記の例では、array_map()関数に、コールバック関数名’square’と配列$numberを渡しました。

$numberの中の要素一つ一つに対して、コールバック関数squareを2乗する処理が適用されて、配列となって返却されていることが確認できるでしょう。

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

今度は、連想配列を用いた例を見てより理解を深めましょう。

<?php
// 配列の要素に8%の税率を適用するコールバック関数
function tax($value) {
    return $value * 1.08;
}
$fruits = [ 'apple' => 100, 'orange' => 150, 'lemon' => 200,];
// 配列にコールバック関数taxを適用する
$result = array_map('tax', $fruits);
print_r($result);

 

実行結果

Array
(
    [apple] => 108
    [orange] => 162
    [lemon] => 216
)

連想配列を使用すると、キーはそのままに、要素だけにコールバック関数の処理を適用した配列を作成することができます。

執筆してくれたメンター

平野大輝(ひらのだいき)

スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。

 

大石ゆかり

PHPでarray_mapを使う方法がよく分かったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。