实例
发送数组中的值到用户自定义函数,并返回一个字符串:
定义和用法
array_reduce() 函数发送数组中的值到用户自定义函数,并返回一个字符串。
注释:如果数组是空的或者初始值未传递,该函数返回 NULL。
语法
array_reduce(array,myfunction,initial)
| 参数 | 描述 |
| array | 必需。规定数组。 |
| myfunction | 必需。规定函数的名称。 |
| initial | 可选。规定发送到函数处理的第一个值。 |
技术细节
| 返回值: | 返回结果值。 |
| PHP 版本: | 4.0.5+ |
| 更新日志: | 自 PHP 5.3.0 起,initial 参数接受多类型(混合的),PHP 5.3.0 之前的版本只支持整数。 |
更多实例
实例 1
带 initial 参数:
实例 2
返回总和:
立即学习“PHP免费学习笔记(深入)”;
array_reduce的强大不仅如此。看下面的例子。将数组$arr的首个元素弹出,作为初始值,避免min($result['min'], $item['min'])中$result为空。
否则最终结果min是空的。
$arr = array(
array('min' => 1.5456, 'max' => 2.28548, 'volume' => 23.152),
array('min' => 1.5457, 'max' => 2.28549, 'volume' => 23.152),
array('min' => 1.5458, 'max' => 2.28550, 'volume' => 23.152),
array('min' => 1.5459, 'max' => 2.28551, 'volume' => 23.152),
array('min' => 1.5460, 'max' => 2.28552, 'volume' => 23.152),
);
$initial = array_shift($arr);
$t = array_reduce($arr, function($result, $item) {
$result['min'] = min($result['min'], $item['min']);
$result['max'] = max($result['max'], $item['max']);
$result['volume'] += $item['volume'];
return $result;
}, $initial);总之,这种写法比foreach更优雅,更少的定义变量。推荐使用。











