map函数改变数组值?

时间:2013-11-16 03:20:42

标签: php map

我想知道是否有用于数组值的map函数或类似函数?说我有以下数组..

$nums = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

我想将这些值乘以5,改变我预期输出所在的数组值。

Array
(
    [0] => 5
    [1] => 10
    [2] => 15
    ...... and so on
 )

我可以使用这个功能吗?

3 个答案:

答案 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
)