📅  最后修改于: 2023-12-03 14:55:00.816000             🧑  作者: Mango
在 PHP 中,array_map() 函数可以用于将给定的函数应用于给定数组中的每个元素。这个函数可以让我们非常方便地映射一个数组的键和值,返回将函数处理后的新数组。
array_map() 函数接受两个参数:一个函数和一个数组。下面是函数的基本用法:
$numbers = [1, 2, 3, 4, 5];
$squares = array_map(function ($n) {
return $n * $n;
}, $numbers);
print_r($squares);
输出:
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
[4] => 25
)
在上面的代码中,我们使用了一个匿名函数来计算每个数字的平方。这个函数将被应用于 $numbers
数组中的每个元素,产生新的 $squares
数组。
我们也可以用这种方式映射数组的键和值:
$items = [
['name' => 'apple', 'color' => 'red'],
['name' => 'banana', 'color' => 'yellow'],
['name' => 'cherry', 'color' => 'red'],
];
$colors = array_map(function ($item) {
return [$item['name'] => $item['color']];
}, $items);
print_r($colors);
输出:
Array
(
[0] => Array
(
[apple] => red
)
[1] => Array
(
[banana] => yellow
)
[2] => Array
(
[cherry] => red
)
)
在这个例子中,我们使用了一个匿名函数来返回一个新的数组,它只包含一个 key-value 对。新数组的键是 $item['name']
,值是 $item['color']
。
array_map()
函数可以用于映射数组的键和值,非常方便。我们只需要提供一个函数来处理每个元素即可。在这个函数中,我们可以访问元素的值以及 key,并且能够返回一个新的值或一个新的 key-value 对。
这些新的数组可以被用于后续的数据操作,例如数组的排序或者进一步的转换。