PHP函数:array_map()的使用方法及示例
array_map()函数常用于对数组中每个元素应用回调函数,然后将结果放入一个新数组中。本文将介绍array_map()的使用方法以及示例。
语法
array_map(callable $callback, array $array1, array ...$arrays): array
参数
$callback:回调函数
$array1:要处理的数组
$arrays:可选,要处理的额外数组
返回值
返回一个包含回调函数处理后的新数组。
示例
1. 以匿名函数为回调函数对数组进行处理
<?php
$originalArray = [1,2,3,4,5];
$newArray = array_map(function($i) { return $i * $i; }, $originalArray);
print_r($newArray);
?>
输出结果:
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
[4] => 25
)
2. 对多个数组进行处理
<?php
$array1 = [1,2,3];
$array2 = [4,5,6];
// 对两个数组中对应元素求和
$sumArray = array_map(function($a, $b) { return $a + $b; }, $array1, $array2);
print_r($sumArray);
?>
输出结果:
Array
(
[0] => 5
[1] => 7
[2] => 9
)
3. 使用预定义函数作为回调函数
<?php
$originalArray = ['apple', 'banana', 'cherry'];
$newArray = array_map('strtoupper', $originalArray);
print_r($newArray);
?>
输出结果:
Array
(
[0] => APPLE
[1] => BANANA
[2] => CHERRY
)
4. 使用对象方法作为回调函数
<?php
class MyObject {
public function process($value) {
return $value . ' processed';
}
}
$originalArray = ['apple', 'banana', 'cherry'];
$myObject = new MyObject();
$newArray = array_map([$myObject, 'process'], $originalArray);
print_r($newArray);
?>
输出结果:
Array
(
[0] => apple processed
[1] => banana processed
[2] => cherry processed
)
总结
array_map()函数可以用于对数组中每个元素应用回调函数,非常方便实用。在开发应用程序时,需要频繁地处理数组,array_map()函数可以大大简化这个任务,提高效率。
