复制代码 代码如下:
/*函数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 "
"; <br>print_r($websites); <br>echo "
Copy after login
";
//定义对单个数组处理的回调函数
function change_value($value){
return ucfirst($value).".com";
}
$urls=array_map('change_value',$websites);
echo "
"; <br>print_r($urls); <br>echo "
Copy after login
";
//多个数组使用的例子
$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 "利用回调函数对多个数组处理后,返回的结果:
";
echo "
"; <br>print_r($results); <br>echo "
Copy after login
";
运行效果如下: