PHP函数教程:array_map()
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()来简化对数组元素的处理。
