php array_map()数组函数使用说明
复制代码
代码如下:
/*函数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>";
运行效果如下: