php array_map()函数实例用法

有时候我们想要对数组里的元素进行改变,不过在函数的选择上犯了难题。本篇带来的是array_map函数,对于数组中元素的值进行调整,然后再返回新的数组,处理数组的数量上也不止一个。下面我们就array_map()函数的说明、语法、参数、返回值、实例带来详解。

1、说明

array_map用回调函数处理数组中的各个元素。

在函数中你可以改变各个元素的值,重点在你需要什么样的值就返回什么样的值,保持索引。

可以一次性处理多个数组。但是数组的数量应该与回调函数的参数保持一致

2、语法

array_map(myfunction,array1,array2,array3...)

3、参数

myfunction 必需。用户自定义函数的名称,或者是 null。

array1 必需。规定数组。

array2 可选。规定数组。

array3 可选。规定数组。

4、返回值

返回包含用户自定义函数作用后的 array1 的值的数组。

5、实例

  1. public function test_array_map(Request $request)
  2. {
  3. $aa = array('aa', 'bb');
  4. $bb = array_map(function($item) {
  5. $item = $item . 'aa' ;
  6. return $item;
  7. }, $aa);
  8. var_dump($aa);

知识点扩展:

php array_map()数组函数使用说明

  1. /*函数array_map()函数:多数组回调函数---将回调函数作用到给定数组的单元上
  2. * 1、语法:array array_map ( callback callback, array arr1 [, array ...] )
  3. * 2、描述:返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的
  4. * 单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
  5. * 3、注意事项:
  6. * 3.1、多数组回调函数作用于一个数组时,将保留原有数组的键名,也就是返回的数组的键名就是
  7. * 作用到给定数组的键名
  8. * 3.2、多数组回到函数作用于两个或多个数组时,他们的长度要一致,并且将忽略原来多个数组的
  9. * 键名,统一分配数字索引作为键名
  10. */
  11. //单个数组使用的例子
  12. $websites=array("g"=>"google","b"=>"baidu","y"=>"yahoo");
  13. //输出原数组
  14. echo "<pre>";
  15. print_r($websites);
  16. echo "</pre>";
  17. //定义对单个数组处理的回调函数
  18. function change_value($value){
  19. return ucfirst($value).".com";
  20. }
  21. $urls=array_map('change_value',$websites);
  22. echo "<pre>";
  23. print_r($urls);
  24. echo "</pre>";
  25. //多个数组使用的例子
  26. $arr1=array(1,3,5,7);
  27. $arr2=array(2,4,6,8);
  28. //定义对多个数组处理的回调函数
  29. function func1($a,$b){
  30. return $a*$b;
  31. }
  32. $results=array_map('func1',$arr1,$arr2);
  33. echo "利用回调函数对多个数组处理后,返回的结果:<br>";
  34. echo "<pre>";
  35. print_r($results);
  36. echo "</pre>";