array_map()函数

首页 / php / 正文

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
]
打赏
评论区
头像