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

PHP中的array_map()函数使用示例

发布时间:2023-06-19 05:02:52

array_map()函数是PHP中一个非常常用的函数,用来对数组中的每个元素作相同的操作,并返回一个新的数组。

基本使用方式

array_map()函数的基本用法如下:

array_map(callable $callback, array $array1, array ...$arrays) : array

参数说明:

- $callback:回调函数。对数组中的每个元素调用该函数处理,可以是匿名函数或者自定义函数;

- $array1:要处理的数组;

- ...$arrays:可选参数,可以使用多个数组作为输入,但是这些数组必须有相同的元素个数。

示例代码

下面是一个简单的array_map()函数使用示例:

<?php

function square($n) {

  return $n * $n;

}

$numbers = array(1, 2, 3, 4, 5);

$squared_numbers = array_map("square", $numbers);

print_r($squared_numbers);

?>

运行结果:

Array

(

    [0] => 1

    [1] => 4

    [2] => 9

    [3] => 16

    [4] => 25

)

在上面的示例中,我们定义了一个函数square(),用于计算每个数字的平方。然后我们创建了一个数组$numbers,包含五个数字。使用array_map()函数,我们对$numbers数组中的每个元素应用square()函数,得到了一个新的数组$squared_numbers,包含了原数组中每个数字的平方。

多个数组的操作

array_map()函数还支持多个数组的操作。示例代码如下:

<?php

function add($a, $b) {

  return $a + $b;

}

$numbers1 = array(1, 2, 3, 4, 5);

$numbers2 = array(10, 20, 30, 40, 50);

$sums = array_map("add", $numbers1, $numbers2);

print_r($sums);

?>

运行结果:

Array

(

    [0] => 11

    [1] => 22

    [2] => 33

    [3] => 44

    [4] => 55

)

在上面的示例中,我们定义了一个函数add(),用于计算两个数字的和。然后我们创建了两个数组$numbers1和$numbers2,都包含五个数字。使用array_map()函数,我们对$numbers1和$numbers2中的每个元素应用add()函数,得到了一个新的数组$sums,包含了两个数组中每个数字的和。

使用匿名函数

除了使用自定义函数外,我们还可以使用匿名函数。示例代码如下:

<?php

$numbers = array(1, 2, 3, 4, 5);

$squared_numbers = array_map(function($n) { return $n * $n; }, $numbers);

print_r($squared_numbers);

?>

运行结果:

Array

(

    [0] => 1

    [1] => 4

    [2] => 9

    [3] => 16

    [4] => 25

)

在上面的示例中,我们使用了PHP中的匿名函数,对数组中的每个元素求平方。使用array_map()函数,我们将匿名函数作为回调函数传递,得到了一个新的数组$squared_numbers,包含了原数组中每个数字的平方。

总结

在本文中,我们介绍了PHP中array_map()函数的基本用法,包括传递自定义函数、多个数组操作以及使用匿名函数。array_map()函数是一个非常常用的函数,可以方便地处理数组中的元素,希望本文的示例对你有所帮助。