array_map()——遍历数组的键值,返回计算后的键值数组;

array_map()

遍历数组的键值,把键值依书写的顺序传递给函数,收集函数的返回值,以数组的形式返回,如果值传递一个数组的键值给函数,那么返回数组键名同传递数组键名相同;
如果是多个数组同时传递键值,那么返回的从0开始的索引数组;返回的数组长度同传递参数的最长数组相同;
不会修改原始数组;

基础语法结构:
array_map(callback $callback ,array $array_1 [,array $array_2....])

返回新的数组,不会修改原来的数组;


语法结构1:
array array_map(callback $callback ,array $array)

实例:

$a_personal_age = array('bill'=>33,'tom'=>20,'jack'=>16);

function get_personal_birth($v){
    return 2017-$v;
}

$a_personal_birth = array_map('get_personal_birth',$a_personal_age);

print_r($a_personal_birth);

#output: Array ( [bill] => 1984 [tom] => 1997 [jack] => 2001 );

注意:

返回的数组键名同被遍历的数组形同,顺序也相同;
不会改变原有数组;


语法结构2:

array array_map(callback $callback,array $array_1,array $array_2...)

同时遍历多个数组元素;

实例:

$a_cost = array('volvo'=>100,'BMW'=>200,'BENZ'=>220);
$a_price   = array('volvo'=>500,'BMW'=>700,'BENZ'=>620);

function get_diff($c,$p){
  return $p-$c;
}

print_r(array_map('get_diff',$a_cost,$a_price));

#output : Array ( [0] => 400 [1] => 500 [2] => 400 );

注意:

1.多个数组同时操作的时候要注意传递的顺序;
2.返回数组的键名是从0开始的索引数组;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容