ITコラム

PHP array_map

PHP

2019.03.19

PHP【 配列 】array_map で一括処理

PHP の array_map 関数を使うと、配列内の全要素に対して処理を一括して行うことができます。
今回は array_map 関数の使用方法を紹介します。

配列についてはこちらの記事もご参照下さい。

PHP【 配列 】複数の値を保持するデータ構造
PHP【 配列 】配列にデータを追加
PHP【 配列 】配列からデータを削除
PHP【 配列 】count で要素数を取得
PHP【 配列 】配列のソート
PHP【 連想配列 】キーでデータを特定
PHP【 多次元配列 】配列の中に配列
PHP【 配列 】配列内のデータ検索
PHP【 配列 】要素を比較
PHP【 配列 】配列の結合
PHP【 配列 】in_array で値の存在チェック
PHP【 配列 】array_map で一括処理(本ページ)
PHP【 配列 】キーを取得
PHP【 配列 】array_filter でフィルター
PHP【 配列 】array_column で同一キーの値を取得
PHP【 配列 】foreach でループ処理
PHP【 配列 】array_unique で重複した値を削除
PHP【 配列 】便利な関数

 
尚、本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方

最終更新日:2019年3月19日

目次

1.array_map 関数
2.array_map のサンプル
3.array_map に複数の引数を指定
 

1.array_map 関数

 
array_map 関数は、指定した関数を配列に実行することにより 配列内の全要素に対して一括処理を行うための関数です。

array_map 関数は 次のように記述して使用します。

array_map ( 関数 , $array1 [ , $array2 … ]) ;

第 1 引数には 処理をするための関数を指定します。

第 2 引数には 一括処理の対象となる配列を指定します。

第 3 引数以降は 指定した関数に渡す引数を配列で指定します。

▲目次へ戻る

 

2.array_map のサンプル

 
array_map 関数を使用して 商品価格を格納している配列に対して税込価格を計算をしてみます。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<pre>
<?php

  function vat( $num ){

    return floor($num*1.08);

  }

  $ary = array(158, 580, 980);

  print_r(array_map("vat", $ary));

?>
</pre>

関数 vat は、引数に 1.08 を掛けた数値を返す関数です。
vat 内で使用している floor 関数は、小数点以下を切り捨てて整数を返す関数です。

「 array_map(“vat”, $ary) 」という記述で、$ary 内の各要素に 1.08 を掛けて小数点以下を切り捨てた値を格納した配列が返ります。

print_r 関数や <pre> ~ </pre> についてはprint_r で出力をご参照下さい。
 
 
連想配列に関しても 使用方法は一緒です。

<pre>
<?php

  function vat( $num ){

    return floor($num*1.08);

  }

  $ary = array("りんご"=>158, "いちご"=>580, "ぶどう"=>980);

  print_r(array_map("vat", $ary));

?>
</pre>

▲目次へ戻る

 

3.array_map に複数の引数を指定

 
array_map 関数に 配列を複数指定すると、より複雑な処理を一括で行うことができます。

次のサンプルは、2 つの配列データを組み合わせてテキストを作成するものです。

下記のようなソースファイルを作成して ブラウザからアクセスしてみて下さい。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<pre>
<?php

  function name_price($name, $price)
  {
    return("$name の値段は $price 円です。");
  }

  $ary1 = array("りんご", "いちご", "ぶどう");
  $ary2 = array(158, 580, 980);

  print_r(array_map("name_price", $ary1, $ary2));

?>
</pre>

関数 name_price は、2 つの引数と固定の文字列とを組み合わせて「 〇〇の値段は△△円です。」というテキストを戻り値として返す関数です。

「 array_map(“name_price”, $ary1, $ary2) 」という記述で、上記の「 〇〇 」の部分に $ary1 の各要素の値が、「 △△ 」の部分に $ary2 の各要素の値がそれぞれ入ってテキストが完成します。

array_map 関数に 配列を複数指定する場合には、指定した配列の要素数が等しい必要がある点に注意しましょう。

print_r 関数や <pre> ~ </pre> についてはprint_r で出力をご参照下さい。

▲目次へ戻る

SHARE

最新記事

無料相談する

INTERNOUS,inc. All rights reserved.