array_map经常使用技巧

array_map() 函数将用户自定义函数做用到数组中的每一个值上,并返回用户自定义函数做用后的带有新值的数组。php

简单来讲 “array_map” 会对数组中的每一项进行处理,并返回处理后的数据。数组

定义:闭包

array_map的参数为array_map(处理函数,数组,数组...)函数

处理函数能够是匿名函数,也能够是具名函数spa

数组能够是多个数组或者是单个数组code

 

用法:blog

 应用场景1:对数组的每一项进行乘法操做ci

1
2
3
4
5
$arr  array (1,2,3,4,5);
$result  array_map ( function  $value  ){
   return  $value  * 10;
}, $arr );
print_r( $result );    //Array ( [0] => 10 [1] => 20 [2] => 30 [3] => 40 [4] => 50 )

  

 应用场景2:二维数组转换成一维数组string

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
$arr  array (
     array (
       array ( 'id' =>1, 'name' => 'a' ),
       array ( 'id' =>2, 'name' => 'b' )
    ),
     array (
       array ( 'id' =>3, 'name' => 'c' ),
       array ( 'id' =>4, 'name' => 'd' ),
       array ( 'id' =>5, 'name' => 'e' )
    )
  );
 
   $result  array ();
   array_map ( function  ( $value use  (& $result ){
     $result  array_merge ( $result , array_values ( $value ));
  }, $arr );
   /*
  讲一下function () use (){}  是php5.3后新增的闭包,use()的括号里面能够对外部的变量进行传参,共匿名函数使用
 
 
  Array
  (
     [0] => Array
         (
             [id] => 1
             [name] => a
         )
 
     [1] => Array
         (
             [id] => 2
             [name] => b
         )
 
     [2] => Array
         (
             [id] => 3
             [name] => c
         )
 
     [3] => Array
         (
             [id] => 4
             [name] => d
         )
 
     [4] => Array
         (
             [id] => 5
             [name] => e
         )
 
  )<br>  */
相关文章
相关标签/搜索