首页 > 语言 > PHP > 正文

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

2024-09-04 11:46:25
字体:
来源:转载
供稿:网友

php中array_map函数是返回一个数组了,然后对我们的传值一个个传组我们要处理的函数处理,下面来给大家介array_map函数使用例子.

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

array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元,callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致,代码如下:

  1. function fun($n
  2. return $n * $n * $n
  3. $a = array(1, 2, 3, 4, 5); 
  4. $b = array_map('fun'$a); /* 每个数组单元作三次方运算,返回数组 */ 
  5. print_r($b); 
  6. /* 
  7. Array 
  8. ( 
  9. [0] => 1 
  10. [1] => 8 
  11. [2] => 27 
  12. [3] => 64 
  13. [4] => 125 
  14. ) 
  15. */ 
  16. array_map('unlink'glob('*.txt'));/* glob返回"文件名.txt"组成的数组,然后对每个文件进行删除操作*/ 
  17. array_map('unlink'glob('*.*')); 
  18. //开源代码Vevb.com 
  19. array_map('unlink'glob('*')); 

如果不使用array_map(),对数组每个单元进行操作就只能遍历然后适当组装,再看个例子,代码如下:

  1. //单个数组使用的例子 
  2. $websites=array("g"=>"google","b"=>"baidu","y"=>"yahoo"); 
  3. //输出原数组 
  4. echo "<pre>"
  5. print_r($websites); 
  6. echo "</pre>"
  7. //定义对单个数组处理的回调函数 
  8. function change_value($value){ 
  9. return ucfirst($value).".com"
  10. $urls=array_map('change_value',$websites); 
  11. echo "<pre>"
  12. print_r($urls); 
  13. echo "</pre>"
  14. //多个数组使用的例子 
  15. $arr1=array(1,3,5,7); 
  16. $arr2=array(2,4,6,8); 
  17. //定义对多个数组处理的回调函数 
  18. function func1($a,$b){ 
  19. return $a*$b
  20. $results=array_map('func1',$arr1,$arr2); 
  21. echo "利用回调函数对多个数组处理后,返回的结果:<br>"
  22. echo "<pre>"
  23. print_r($results); 
  24. echo "</pre>"

有朋友不清楚array_walk和array_map的区别,下面我简单的介绍一下,map主要是为了得到你的回调函数处理后的新数组,要的是结果,walk主要是对每个参数都使用一次你的回调函数,要的是处理的过程.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表