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