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