一聚教程网:一个值得你收藏的教程网站

热门教程

php中array_map数组回调函数使用例子

时间:2022-06-24 19:52:50 编辑:袖梨 来源:一聚教程网

array array_map ( callable $callback , array $arr1 [, array $... ] )

array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。

callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

 

 代码如下 复制代码

function fun($n)
{
return $n * $n * $n;
}

$a = array(1, 2, 3, 4, 5);
$b = array_map('fun', $a); /* 每个数组单元作三次方运算,返回数组 */
print_r($b);
/*
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
*/

array_map('unlink', glob('*.txt'));/* glob返回"文件名.txt"组成的数组,然后对每个文件进行删除操作*/

array_map('unlink', glob('*.*'));

array_map('unlink', glob('*'));

如果不使用array_map(),对数组每个单元进行操作就只能遍历然后适当组装。

再看个例子

 代码如下 复制代码

//单个数组使用的例子
$websites=array("g"=>"google","b"=>"baidu","y"=>"yahoo");
//输出原数组
echo "

";
print_r($websites);
echo "
";
//定义对单个数组处理的回调函数
function change_value($value){
return ucfirst($value).".com";
}
$urls=array_map('change_value',$websites);
echo "
";
print_r($urls);
echo "
";
//多个数组使用的例子
$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 "
";
print_r($results);
echo "
";

有朋友不清楚array_walk和array_map的区别,下面我简单的介绍一下

map主要是为了得到你的回调函数处理后的新数组,要的是结果。

walk主要是对每个参数都使用一次你的回调函数,要的是处理的过程。

热门栏目