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> */
|