php中array_map数组回调函数使用例子
php中array_map函数是返回一个数组了,然后对我们的传值一个个传组我们要处理的函数处理,下面来给大家介array_map函数使用例子.
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 ( '*.*' )); //开源代码phpfensi测试数据 array_map ( 'unlink' , glob ( '*' ));如果不使用array_map(),对数组每个单元进行操作就只能遍历然后适当组装,再看个例子,代码如下:
//单个数组使用的例子 $websites = array ( "g" => "google" , "b" => "baidu" , "y" => "yahoo" ); //输出原数组 echo "<pre>" ; print_r( $websites ); echo "</pre>" ; //定义对单个数组处理的回调函数 function change_value( $value ){ return ucfirst( $value ). "测试数据" ; } $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>" ;有朋友不清楚array_walk和array_map的区别,下面我简单的介绍一下,map主要是为了得到你的回调函数处理后的新数组,要的是结果,walk主要是对每个参数都使用一次你的回调函数,要的是处理的过程.
查看更多关于php中array_map数组回调函数使用例子 - php数组的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did31233