1. 简介
在 PHP 中,array_map() 是一个非常有用的函数,它可以将给定的数组中的每个元素应用一个用户自定义的函数,然后返回一个新的数组。这个函数很方便,特别是在需要对数组中的每个元素进行相同的操作时。
2. 语法
array_map(callable $callback, array $arr1 [, array $... ]): array
2.1 参数说明
callback:必需。指定要应用于每个元素的函数名称或者是一个匿名函数(Closure)。
arr1:必需。要进行处理的数组。
...arr2, arr3, ...:可选。要应用于数组的其他数组,也可以是值列表。
2.2 返回值
返回一个通过将每个输入数组的对应元素作为参数传递给指定的 callback 函数处理所有输入数组得到的值的数组。
3. 示例
3.1 在数组元素中添加字符
下面的示例演示了如何使用 array_map() 函数向每个数组元素中添加固定的字符串。
$arr = ['apple', 'banana', 'orange'];
$newArr = array_map(function($item) {
return $item . ' is a fruit';
}, $arr);
print_r($newArr);
/*
输出:
Array
(
[0] => apple is a fruit
[1] => banana is a fruit
[2] => orange is a fruit
)
*/
3.2 对两个数组中的元素执行相应的操作
下面的示例演示了如何使用 array_map() 函数将两个数组中的元素相加。
$nums1 = [1, 2, 3];
$nums2 = [3, 2, 1];
$newArr = array_map(function($num1, $num2) {
return $num1 + $num2;
}, $nums1, $nums2);
print_r($newArr);
/*
输出:
Array
(
[0] => 4
[1] => 4
[2] => 4
)
*/
3.3 剔除数组中的空值
下面的示例演示了如何使用 array_map() 函数过滤一个数组,剔除数组中的空值。
$arr = ['apple', '', 'banana', '', 'orange'];
$newArr = array_filter(array_map('trim', $arr));
print_r($newArr);
/*
输出:
Array
(
[0] => apple
[2] => banana
[4] => orange
)
*/
4. 总结
使用 array_map() 函数可以有效地减少代码量并简化代码的逻辑。它可以允许我们方便地操作数组元素,对每个元素执行相同的操作。