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

PHP函数教程:array_map()

发布时间:2023-08-14 15:30:45

array_map()是PHP中的一个函数,作用是将指定的回调函数作用于给定数组的每一个元素,并返回一个包含函数作用后的元素的新数组。

array_map()函数有两个参数: 个参数是一个回调函数,可以是自定义的函数也可以是内置的函数;第二个参数是一个数组,可以包含任意多个元素。

当array_map()函数被调用时,它会依次将数组中的每个元素作为参数传递给回调函数,并将函数返回的结果放入一个新的数组中。新数组的长度和原数组的长度是相同的。

下面是一个简单的示例,演示如何使用array_map()函数将数组中的每个元素求平方并返回一个新的数组:

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

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

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

print_r($squared_numbers);

在上面的例子中,我们定义了一个名为square()的函数,它接受一个参数并返回该参数的平方。然后我们定义了一个包含一些数字的数组$numbers。

当我们调用array_map("square", $numbers)时,array_map()函数会将$numbers数组中的每个元素依次传递给square()函数,并将函数返回的结果放入一个新的数组中。最后,我们使用print_r函数打印出了新数组$squared_numbers的内容。

输出结果如下:

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)

可以看到,新数组$squared_numbers中的每个元素分别是原数组$numbers中对应元素的平方。

除了使用自定义的函数,我们也可以使用PHP提供的内置函数作为array_map()的回调函数。例如,我们可以使用内置的函数strtoupper将数组中的每个元素转换为大写:

$strings = array("apple", "banana", "cherry");

$uppercase_strings = array_map("strtoupper", $strings);

print_r($uppercase_strings);

输出结果如下:

Array
(
    [0] => APPLE
    [1] => BANANA
    [2] => CHERRY
)

可以看到,新数组$uppercase_strings中的每个元素分别是原数组$strings中对应元素的大写形式。

总结一下,使用array_map()函数可以方便地对数组中的每个元素应用指定的函数,然后返回一个包含函数作用后的元素的新数组。无论是使用自定义的函数还是使用内置的函数,我们都可以通过array_map()来简化对数组元素的处理。