在php数组函数群中有一个名字很奇怪的函数叫array_map真不知道为啥叫这个名字???但是这个函数作用倒是很大,嘿嘿……
本函数可以将一个数组通过回调函数逐一的改变元素值之后返回一个和原来数组大小一致的数组。不改变原来数组的大小和值。
array_map 函数的第一个参数是一个字符串,该字符串应该是一个已经存在的函数名称。这个函数是你自己定义的函数,也可以是PHP内置的哦。
看例子:
<?php
function sum($n){
return $n+2;
}
$a=array("a"=>1,"b"=>3,"c"=>5);
$b=array_map("sum",$a);
var_dump($b);
本段程序的运行结果将会是:
array(3) {
["a"]=>
int(3)
["b"]=>
int(5)
["c"]=>
int(7)
}
array_map函数更重要的使用方法是,他能够作用在多个数组,例如
$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);
本段程序的执行结果为:
array(3) {
[0]=>
int(3)
[1]=>
int(7)
[2]=>
int(11)
}
更多的使用方法有待大家去发掘,如果您熟练掌握了这个函数有很多复杂的数组算法将回迎刃而解。例如两个求两个数组元素对应键位的和,或者是两个字符串相加,相乘等等……