もくじ
array_map()
役割
- 配列を元にまったく新しい配列を生成する
コールバック関数を利用して加工する - foreachで配列を加工できるが、array_map()で簡単に記述できる
配列の要素1つ1つに、コールバック関数を適用して、
配列として返す。
書式
array_map('コールバック関数', 配列)
配列が、コールバック関数で処理されて返る
サンプルコード
<?php function func($num){ return $num * 2; } $num_array = [100, 200, 300, 400, 500]; $result = array_map('func', $num_array); var_dump($result);
表示結果
array (size=5) 0 => int 200 1 => int 400 2 => int 600 3 => int 800 4 => int 1000
forで1つ1つの要素に対してループさせて、指定した関数に適用させていること。
それと同じ処理をしている。
クロージャ(無名関数)を利用して書くとこう
<?php $num_array = [100, 200, 300, 400, 500]; $result = array_map(function($num){ return $num * 2; }, $num_array); var_dump($result);
最初のコードと結果は意味は同じだけれど、クロージャを使うのが普通なので、面くらわないように覚えておこう。
[amazon_link asins=’B01FH3KVNU,4865940650,4897978858′ template=’ProductCarousel’ store=’izayoi55-22′ marketplace=’JP’ link_id=’424a959a-f805-413a-b36f-8797fa055cb6′]
[amazon_link asins=’4839964688,B07CLLW4MX,479804749X,B00P0UDWQY’ template=’ProductCarousel’ store=’izayoi55-22′ marketplace=’JP’ link_id=’f3e82de2-4104-49c8-99da-0a9407ea9d54′]