相关疑难解决方法(0)

foreach的性能,带有lambda的array_map和带有静态函数的array_map

这三种方法之间的性能差异(如果有的话)是什么,都用于将数组转换为另一个数组?

  1. 运用 foreach
  2. 使用array_maplambda/closure函数
  3. 使用array_map'静态'功能/方法
  4. 还有其他方法吗?

为了使自己清楚,让我们看看这些例子,都做同样的事情 - 将数字数组乘以10:

$numbers = range(0, 1000);
Run Code Online (Sandbox Code Playgroud)

的foreach

$result = array();
foreach ($numbers as $number) {
    $result[] = $number * 10;
}
return $result;
Run Code Online (Sandbox Code Playgroud)

用lambda映射

return array_map(function($number) {
    return $number * 10;
}, $numbers);
Run Code Online (Sandbox Code Playgroud)

使用'static'函数映射,作为字符串引用传递

function tenTimes($number) {
    return $number * 10;
}
return array_map('tenTimes', $numbers);
Run Code Online (Sandbox Code Playgroud)

还有其他方法吗?我将很高兴听到上述案例之间的所有差异,以及为什么应该使用其他人而不是其他人的任何输入.

php performance foreach lambda array-map

131
推荐指数
4
解决办法
7万
查看次数

标签 统计

array-map ×1

foreach ×1

lambda ×1

performance ×1

php ×1