我想知道是否有用于数组值的map函数或类似函数?说我有以下数组..
$nums = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
我想将这些值乘以5,改变我预期输出所在的数组值。
Array
(
[0] => 5
[1] => 10
[2] => 15
...... and so on
)
我可以使用这个功能吗?
答案 0 :(得分:4)
是的,它被称为array_map
:
$nums = array_map(function($number) { return $number * 5; }, $nums);
或array_walk
:
array_walk($nums, function(&$number) { $number *= 5; });
答案 1 :(得分:1)
您可以轻松地遍历数组。
foreach ($nums as &$value) {
$value *= 5;
}
稍微复杂一点,您也可以使用array_map()
。
array_map(function($x) { return $x * 5; }, $nums);
答案 2 :(得分:1)
没有特定的map
功能,但您可以使用array_map
或foreach循环创建自己的功能。
function map($n) {
return $n*5;
}
$nums = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
print_r(array_map(map, $nums));
或者
function map($n, $array) {
foreach ($array as &$val) {
$val *= $n;
}
return $array;
}
$nums = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
print_r(map(5, $nums));
输出
Array
(
[0] => 5
[1] => 10
[2] => 15
[3] => 20
[4] => 25
[5] => 30
[6] => 35
[7] => 40
[8] => 45
[9] => 50
)