PHP函数使用:array_map(),应用函数到数组的每个元素。
array_map()是PHP的一个函数,可以应用于数组中的每个元素,将每个元素应用一个函数,最终返回一个新的数组。该函数非常方便且常用,特别在处理数组中的数据时,使用起来效果非常明显。
基本语法:
array array_map(callable $callback, array $array1, array $...):
参数:
? $callback:函数或方法,将被应用到数组的每个元素上。
? $array1, $array2, ...:数组参数,将被应用$callback函数。在可变参数列表中,可以传递多个数组。
返回值:
? 返回数组,包含返回值函数或方法在给定(一个或多个)数组的每项。
实例如下:
<?php
function myfunction($v)
{
return $v * $v;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("myfunction", $a);
print_r($b);
?>
输出结果:
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
[4] => 25
)
上述代码中,我们定义了一个函数myfunction(),该函数将每个输入的参数平方,并返回结果。然后我们定义数组$a,其中包括一些整数。调用array_map()函数,并传递函数myfunction()和数组$a,函数会将每个元素应用到myfunction()函数,最后返回一个新的数组$b,其中包含每个元素平方的结果。
array_map()还支持多个数组作为参数,这些数组会在回调函数中作为参数按顺序传递下来,以便在函数中进行操作。例如:
<?php
function myfunction($v1,$v2)
{
return $v1 + $v2;
}
$a = array(1, 2, 3, 4, 5);
$b = array(6, 7, 8, 9, 10);
$c = array_map("myfunction", $a, $b);
print_r($c);
?>
输出结果:
Array
(
[0] => 7
[1] => 9
[2] => 11
[3] => 13
[4] => 15
)
上述代码中,我们定义了一个函数myfunction(),该函数将两个输入的参数相加,并返回结果。然后,我们定义了两个数组$a和$b,它们中包含一些整数。我们使用array_map()函数,并传递函数myfunction(),以及数组$a和$b。函数会将每个元素作为参数按顺序传递下来,以便在myfunction()函数中进行操作,最后返回一个新的数组$c,其中包含$a和$b两个数组元素相加的结果。
在实际开发中,array_map()非常常见,因为它可以很方便地应用于数组中的每个元素,并返回一个新的数组。例如,我们可能需要将所有字符串的首字母大写,或者将所有元素转换为大写或小写,或者将一个数字数组转换为一个带标签的数组等等。
总结:array_map()非常方便和灵活,可以通过传递不同的回调函数或方法来实现不同的操作,从而达到预期的效果。通过使用该函数,我们可以避免使用循环来操作数组中的每个元素,可以简化代码,提高开发效率。
