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

PHP函数使用:array_map(),应用函数到数组的每个元素。

发布时间:2023-06-26 10:03:54

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()非常方便和灵活,可以通过传递不同的回调函数或方法来实现不同的操作,从而达到预期的效果。通过使用该函数,我们可以避免使用循环来操作数组中的每个元素,可以简化代码,提高开发效率。