欢迎访问宙启技术站
智能推送

使用PHP的array_map函数对数组中的每个元素应用一个函数

发布时间:2023-07-04 12:20:58

array_map() 函数是 PHP 内置的一个数组函数,用于将指定的函数作用于给定数组的每个元素,并返回一个新数组,新数组的元素是原数组经过处理后的结果。

array_map() 函数的语法为:

array_map(callback, arr1 [, arr2, ...])

其中,callback 是一个用户自定义函数,用于作用于每个数组的元素;arr1 到 arrN 是待处理的数组。

假设有以下数组 arr 数组如下:

$arr = [1, 2, 3, 4, 5];

现在要对数组 arr 中的每个元素应用一个函数,并将结果保存到新数组 newArr 中。可以使用 array_map() 函数来实现:

function square($num) {
    return $num * $num;
}

$newArr = array_map("square", $arr);

上述代码中,定义了一个名为 square() 的函数,用于计算一个数的平方。然后使用 array_map() 函数,将 square() 函数作用于 $arr 数组的每个元素,并将结果保存到 $newArr 数组中。

最终结果为 $newArr 数组:

$newArr = [1, 4, 9, 16, 25];

这样,原数组中的每个元素都被平方后,得到了一个新的数组。

array_map() 函数还可以同时处理多个数组。假设现在有两个数组 arr1 和 arr2:

$arr1 = [1, 2, 3];
$arr2 = [4, 5, 6];

想要将这两个数组的元素相加,并保存到新数组 $sumArr 中。可以修改上述示例代码如下:

function sum($num1, $num2) {
    return $num1 + $num2;
}

$sumArr = array_map("sum", $arr1, $arr2);

在这段代码中,定义了一个名为 sum() 的函数,用于对两个数进行相加。然后使用 array_map() 函数,将 sum() 函数作用于 $arr1 和 $arr2 数组的每个元素,并将结果保存到 $sumArr 数组中。

最终结果为 $sumArr 数组:

$sumArr = [5, 7, 9];

这样,两个数组的对应元素相加后,得到了一个新的数组。

总结:

array_map() 函数是 PHP 中一个非常实用的数组函数,用于将一个函数作用于给定数组的每个元素,并返回一个新数组。可以通过 array_map() 函数,对数组中的每个元素应用一个函数,实现对数组的批量处理。