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

PHP函数:array_map()的用法和实际应用

发布时间:2023-06-10 20:58:33

PHP是一种脚本语言,有很多内置函数,array_map()就是其中一种,它用来对数组中的每个元素应用用户定义的函数。在数组中应用用户定义的回调函数,该函数的参数是输入的数组中对应的值,返回值作为新数组的一个值.

语法:

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

参数说明:

$callback必选参数,可调用函数,该函数接受一个或多个数组,返回在新数组中作为对应输入数组元素的值。

$array必选参数,要处理的数组。

$arrays可选参数,更多要处理的数组。

返回值:

返回一个新的数组,该数组由 $array 经过回调 $callback 处理后的结果组成。

现在我们开始对 array_map 函数进行实际应用。

1. 数组元素乘方运算

下面我们来看一个函数示例,函数 myFunc($n),实现求 $n 的平方:

function myFunc($n) {

    return $n * $n;

}

然后我们用 array_map() 来应用该函数:

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

$new_array = array_map("myFunc", $a);

print_r($new_array);

运行结果:

Array

(

    [0] => 1

    [1] => 4

    [2] => 9

    [3] => 16

    [4] => 25

)

2. 数组元素字符串格式化

下面我们来看一个函数示例,函数 strFunc($str),实现字符串格式化:

function strFunc($str) {

    $tmp = str_replace(", ", "_", $str);

    return "[$tmp]";

}

然后我们用 array_map() 来应用该函数:

$a = array("php, ruby, java, python", "javascript, html, css");

$new_array = array_map("strFunc", $a);

print_r($new_array);

运行结果:

Array

(

    [0] => [php_ruby_java_python]

    [1] => [javascript_html_css]

)

3. 两个数组相加

下面我们来看一个函数示例,函数 sumFunc($a, $b),实现两个数组元素相加:

function sumFunc($a, $b) {

    return $a + $b;

}

然后我们用 array_map() 来应用该函数:

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

$b = array(6, 7, 8, 9, 10);

$new_array = array_map("sumFunc", $a, $b);

print_r($new_array);

运行结果:

Array

(

    [0] => 7

    [1] => 9

    [2] => 11

    [3] => 13

    [4] => 15

)

总结:

array_map()函数可以对一个或多个数组应用一个用户自定义的函数,该函数的返回值将作为新数组的一个值。在实际应用中,该函数可以用于对数组进行元素乘方运算、字符串格式化以及对两个数组元素进行相加等操作。