定义和用法
array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新的值的数组。
提示:您可以向函数输入一个或者多个数组。
语法
array_map(myfunction,array1,array2,array3...)
参数 | 描述 |
---|---|
myfunction | 必需。用户自定义函数的名称,或者是 null。 |
array1 | 必需。规定数组。 |
array2 | 可选。规定数组。 |
array3 | 可选。规定数组。 |
技术细节
返回值: | 返回包含用户自定义函数作用后的 array1 的值的数组。 |
---|---|
PHP 版本: | PHP 4 >= 4.0.6, PHP 5, PHP 7 |
示例
示例1:
<?php
function cube($n)
{
return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>
这使得 $b
成为:
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
示例2:
<?php
$func = function($value) {
return $value * 2;
};
print_r(array_map($func, range(1, 5)));
?>
以上例程会输出:
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
)
示例3:
<?php
function show_Spanish($n, $m)
{
return("The number $n is called $m in Spanish");
}
function map_Spanish($n, $m)
{
return(array($n => $m));
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("show_Spanish", $a, $b);
print_r($c);
$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>
以上例程会输出:
// printout of $c
Array
(
[0] => The number 1 is called uno in Spanish
[1] => The number 2 is called dos in Spanish
[2] => The number 3 is called tres in Spanish
[3] => The number 4 is called cuatro in Spanish
[4] => The number 5 is called cinco in Spanish
)
// printout of $d
Array
(
[0] => Array
(
[1] => uno
)
[1] => Array
(
[2] => dos
)
[2] => Array
(
[3] => tres
)
[3] => Array
(
[4] => cuatro
)
[4] => Array
(
[5] => cinco
)
)
示例4:
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
以上例程会输出:
Array
(
[0] => Array
(
[0] => 1
[1] => one
[2] => uno
)
[1] => Array
(
[0] => 2
[1] => two
[2] => dos
)
[2] => Array
(
[0] => 3
[1] => three
[2] => tres
)
[3] => Array
(
[0] => 4
[1] => four
[2] => cuatro
)
[4] => Array
(
[0] => 5
[1] => five
[2] => cinco
)
)
示例5:
<?php
$arr = array("stringkey" => "value");
function cb1($a) {
return array ($a);
}
function cb2($a, $b) {
return array ($a, $b);
}
var_dump(array_map("cb1", $arr));
var_dump(array_map("cb2", $arr, $arr));
var_dump(array_map(null, $arr));
var_dump(array_map(null, $arr, $arr));
?>
以上例程会输出:
array(1) {
["stringkey"]=>
array(1) {
[0]=>
string(5) "value"
}
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "value"
[1]=>
string(5) "value"
}
}
array(1) {
["stringkey"]=>
string(5) "value"
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "value"
[1]=>
string(5) "value"
}
}
为您推荐与 php数组函数 相关的帖子:
- PHP array_intersect_ukey() 函数:比较两个数组的键名(使用用户自定义函数比较键名),并返回交集
- PHP array_intersect_uassoc() 函数:比较两个数组的键名和键值(使用用户自定义函数比较键名),并返回交集
- PHP array_intersect_key() 函数:比较两个数组的键名,并返回交集
- PHP array_intersect_assoc() 函数:带索引检查计算数组的交集
- PHP array_intersect() 函数:计算数组的交集
- PHP array_diff_assoc() 函数:比较两个数组的键名和键值,并返回差集
- PHP array_flip() 函数:反转数组中的键名和对应关联的键值
- PHP array_combine() 函数:通过合并两个数组来创建一个新数组
- PHP array_count_values() 函数:统计数组中所有的值出现的次数
- PHP array_change_key_case() 函数
- PHP array_column() 函数:返回数组中指定的一列
- PHP array_diff_key() 函数:比较两个数组的键名,并返回差集
- PHP array_chunk() 函数
- PHP array_filter() 函数:用回调函数过滤数组中的元素
- PHP array_key_first() 函数
- PHP array_diff_ukey() 函数:比较两个数组的键名,并返回差集:
- PHP array_key_last() 函数
- PHP array() 函数:新建一个数组
- PHP array_keys() 函数
- PHP array_fill_keys() 函数:用给定的指定键名的键值填充数组
- PHP array_diff_uassoc() 函数:比较两个数组的键名和键值,并返回差集
- PHP array_fill() 函数:用给定的键值填充数组
- PHP array_key_exists() 函数
暂无回复。