array_map
为数组每个元素对应回调函数,返回数组,返回的数组是为每个元素应用回调函数之后的数组。 callback
函数形参的数量和传给 array_map() 数组数量,两者必须一样。
例如:
function cube($n)
{
return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
// 以上程序运行结果为:
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
语法
array_map ( callable $callback , array $array1 [, array $... ] ) : array
参数
- callback:回调函数,应用到每个数组里的单个元素
- array1:数组,遍历运行callback函数
- ....:数组列表,每个都遍历运行callback函数
实例
例1
$func = function($value) {
return $value * 2;
};
dump(array_map($func, range(1, 5)));
// 输出结果为:
array:5 [▼
0 => 2
1 => 4
2 => 6
3 => 8
4 => 10
]
例2
// callback 函数形参的数量和传给 array_map() 数组数量,两者必须一样。
$func = function($value, $step) {
return $value * $step;
};
dump(array_map($func, range(1, 5), range(1,5)));
// 输出结果为:
array:5 [▼
0 => 1
1 => 4
2 => 9
3 => 16
4 => 25
]