array_map - 配列の各要素に処理を適用する
array_mapは、配列の全ての要素に、コールバック関数を適用する関数です。
構文
パラメータ
$callback
コールバック関数。
$array1
コールバック関数を適用する配列。
$...
第3引数は第2引数、第4引数は第3引数、というように、コールバック関数として渡される。引数は配列でなければいけない。
返り値
array
処理を適用してできた新しい配列。
サンプルコード
<?php
$array1 = [ "おはよう", "こんにちは", "こんばんは" ] ;
function callback ( $a ) {
return $a . "です!!" ;
}
$response = array_map( "callback", $array1 ) ;
デモ
使用例
配列の各要素に語尾を付ける例です。
<?php
$array1 = [ "おはよう", "こんにちは", "こんばんは" ] ;
function callback ( $a ) {
return $a . "です!!" ;
}
$response = array_map( "callback", $array1 ) ;
var_dump( $response ) ;
コールバック関数の引数
第3引数以降は、コールバック関数の引数になります。引数は配列で指定します。配列の[0]が1つ目の要素、[1]が2つ目の要素、というように渡されます。言葉だと分かりにくいので、下記を確認して下さい。
<?php
$array1 = [ "おはよう", "こんにちは", "こんばんは" ] ;
function callback ( $a, $b, $c ) {
return $a . "です!! [第2引数: " . $b . "] [第3引数: " . $c . "]" ;
}
$response = array_map( "callback", $array1, [ 1, 2, 3 ], [ "A", "B", "C" ] ) ;
var_dump( $response ) ;
参考
- PHP: array_map
- PHPの公式リファレンス。
関連記事
- array_flip
- 配列のキーと値を反転する。
- each
- 要素のキーと値を返してから、ポインタを1つ進める。
- array_unshift
- 配列の先頭に要素を追加する。
- array_unique
- 配列から重複した値を削除する。
- array_walk
- ユーザー定義の関数を全ての要素に適用する。
- array_walk_recursive
- ユーザー定義の関数を全ての要素に、再帰的に適用する。