小解php数组函数array_map()

发布于 2016-03-17 14:23:46 分类:技术笔记 阅读(991)  

1  /*函数array_map()函数:多数组回调函数---将回调函数作用到给定数组的单元上
 2    * 1、语法:array array_map ( callback callback, array arr1 [, array ...] )
 3    * 2、描述:返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的
 4    * 单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
 5    * 3、注意事项:
 6    *   3.1、多数组回调函数作用于一个数组时,将保留原有数组的键名,也就是返回的数组的键名就是
 7    *   作用到给定数组的键名
 8    *   3.2、多数组回到函数作用于两个或多个数组时,他们的长度要一致,并且将忽略原来多个数组的
 9    *   键名,统一分配数字索引作为键名
10    */
11   //单个数组使用的例子
12   $websites=array("g"=>"google","b"=>"baidu","y"=>"yahoo");
13   //输出原数组
14   echo "<pre>";
15   print_r($websites);
16   echo "</pre>";
17   //定义对单个数组处理的回调函数
18   function change_value($value){
19       return ucfirst($value).".com";
20   }
21   $urls=array_map('change_value',$websites);
22   echo "<pre>";
23   print_r($urls);
24   echo "</pre>";
25   //多个数组使用的例子
26   $arr1=array(1,3,5,7);
27   $arr2=array(2,4,6,8);
28   //定义对多个数组处理的回调函数
29   function func1($a,$b){
30       return $a*$b;
31   }
32   $results=array_map('func1',$arr1,$arr2);
33   echo "利用回调函数对多个数组处理后,返回的结果:<br>";
34   echo "<pre>";
35   print_r($results);
36   echo "</pre>";
复制代码

运行效果如下: