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