|
array_map指定した配列の要素にコールバック関数を適用する 説明
array array_map(callablenull
$callback, array $array, array ...$arrays)
array_map は、 パラメータ
戻り値
引数で渡した配列のキーがそのまま維持されるのは、渡した配列がひとつだけである場合のみです。 複数の配列を渡した場合は、戻り値の配列のキーは整数値が振り直されます。 変更履歴
例
例1 array_map の例 この例では、$b の内容は以下のようになります。
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
例2 array_map でラムダ関数を使用する例 上の例の出力は以下となります。
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
)
例3 array_map - もっと配列を使ってみる例 上の例の出力は以下となります。
// printout of $c
Array
(
[0] => The number 1 is called uno in Spanish
[1] => The number 2 is called dos in Spanish
[2] => The number 3 is called tres in Spanish
[3] => The number 4 is called cuatro in Spanish
[4] => The number 5 is called cinco in Spanish
)
// printout of $d
Array
(
[0] => Array
(
[1] => uno
)
[1] => Array
(
[2] => dos
)
[2] => Array
(
[3] => tres
)
[3] => Array
(
[4] => cuatro
)
[4] => Array
(
[5] => cinco
)
)
通常、二つ以上の配列を使用する場合、 それらの長さは等しい必要があります。 これは、 コールバック関数が対応する要素に対して並行して適用されるためです。 配列の長さが等しくない場合、要素数の少ない配列は空の要素で拡張して、最も長い配列の要素数に合わせます。
この関数の面白い使用方法として、
配列の配列を構築するというものがあります。
これは、コールバック関数の名前として
例4 配列のzip操作を行う 上の例の出力は以下となります。
Array
(
[0] => Array
(
[0] => 1
[1] => one
[2] => uno
)
[1] => Array
(
[0] => 2
[1] => two
[2] => dos
)
[2] => Array
(
[0] => 3
[1] => three
[2] => tres
)
[3] => Array
(
[0] => 4
[1] => four
[2] => cuatro
)
[4] => Array
(
[0] => 5
[1] => five
[2] => cinco
)
)
例5
上の例の出力は以下となります。
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
例6 array_map - 文字列キーの例 上の例の出力は以下となります。
array(1) {
["stringkey"]=>
array(1) {
[0]=>
string(5) "value"
}
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "value"
[1]=>
string(5) "value"
}
}
array(1) {
["stringkey"]=>
string(5) "value"
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "value"
[1]=>
string(5) "value"
}
}
例7 array_map と連想配列 array_map は、配列のキーを入力として直接サポートしていませんが、 array_keys を使うと、配列のキーを入力とした動きをシミュレートできます。 上の例の出力は以下となります。
array(3) {
[0]=>
string(24) "v1 was the First release"
[1]=>
string(25) "v2 was the Second release"
[2]=>
string(24) "v3 was the Third release"
}
参考
|