(转)array_地图函数

(转)array_map函数
在php数组函数群中有一个名字很奇怪的函数叫array_map真不知道为啥叫这个名字???但是这个函数作用倒是很大,嘿嘿……
本函数可以将一个数组通过回调函数逐一的改变元素值之后返回一个和原来数组大小一致的数组。不改变原来数组的大小和值。

array_map 函数的第一个参数是一个字符串,该字符串应该是一个已经存在的函数名称。这个函数是你自己定义的函数,也可以是PHP内置的哦。
看例子:

1
2
3
4
5
6
7
8
9
<?php

function sum($n){
return $n+2;
}
$a=array("a"=>1,"b"=>3,"c"=>5);
$b=array_map("sum",$a);

var_dump($b);

本段程序的运行结果将会是:

1
2
3
4
5
6
7
8
array(3) {
  ["a"]=>
  int(3)
  ["b"]=>
  int(5)
  ["c"]=>
  int(7)
}

array_map函数更重要的使用方法是,他能够作用在多个数组,例如

1
2
3
4
5
6
7
8
9
10
 
$a=array(1,3,5);
$b=array(2,4,6);

function sum($n,$m){
return $n+$m;
}

$c=array_map("sum",$a,$b);
var_dump($c);

本段程序的执行结果为:

1
2
3
4
5
6
7
8
9
 
array(3) {
  [0]=>
  int(3)
  [1]=>
  int(7)
  [2]=>
  int(11)
}