PHP array_map() 函数
说明
array_map()
函数将回调函数应用于数组的每个元素,并返回一个带有修改元素的新数组。
下表总结了该函数的技术细节。
返回值: | 返回一个数组,其中包含将回调函数应用于 array1 的每个元素和其他数组(如果提供)的结果。 |
---|---|
版本: | PHP 4.0.6+ |
语法
array_map()
函数的基本语法如下:
array_map(callback, array1, array2, ...);
下面的例子展示了 array_map()
函数的作用。
<?php
// 定义回调函数
function cube($n){
return ($n * $n * $n);
}
// 样本数组
$numbers = array(1, 2, 3, 4, 5);
// 对每个数字应用回调函数
$result = array_map("cube", $numbers);
print_r($result);
?>
注意:当且仅当仅传递一个数组时,键将保留在返回的数组中。 如果传递了多个数组,则返回的数组将具有连续的整数键。
参数
array_map()
函数接受以下参数。
参数 | 说明 |
---|---|
callback | 必填。 指定为每个数组中的每个元素运行的回调函数。 |
array | 必填。 指定要处理的数组。 |
... | 可选。 指定更多要处理的数组。 |
更多示例
这里有更多示例展示了 array_map()
函数的实际工作原理:
在以下示例中,结果数组将保留原始数组的键。
<?php
// 定义回调函数
function total($price){
$tax = 5/100; // 5%
return ($price *= (1 + $tax));
}
// 样本数组
$products = array("bread"=>3, "tea"=>5, "coffee"=>10);
// 对每个元素应用回调函数
$result = array_map("total", $products);
print_r($result);
?>
以下示例演示了将多个数组传递给该函数。
<?php
// 定义回调函数
function phonics($v1, $v2){
return "$v1 is for $v2";
}
// 样本数组
$letters = array("a", "b", "c", "d");
$words = array("apple", "ball", "cat", "dog");
// 对每个元素应用回调函数
$result = array_map("phonics", $letters, $words);
print_r($result);
?>
以下示例演示了如何使用 PHP 内置的 strtoupper()
函数将数组的每个字符串值的大小写更改为大写:
<?php
// 样本数组
$fruits = array("apple", "banana", "orange", "mango");
// 对每个元素应用回调函数
$result = array_map("strtoupper", $fruits);
print_r($result);
?>
提示:您不仅可以使用 array_map()
自定义函数,还可以使用 PHP 的内置函数,就像我们在上面的示例中使用的 strtoupper()
函数一样。
Advertisements