array_map array_reduce

1、array_reduce( $arr , callable $callback ) 使用回调函数迭代地将数组简化为单一的值。

其中$arr 为输入数组,$callback($result , $value)接受两个参数,$result为上一次迭代产生的值,$value是当前迭代的值。

使用array_reduce()替代foreach()循环最常用的一个业务场景也许就是数组求和,比如:

1 $arr = array('1','2','3'); //计算数组中数字的和
2 $sum = 0;
3 foreach($arr as $v){  //使用 foreach循环计算&lt;/p&gt;<br />
4 $sum  += $v;// echo $sum
5 }
6 echo array_reduce($arr , function($result , $v){ //使用array_reduce()迭代求和
7  Return $result+$v;
8 });

2、array_map(callback $callback , $arr) 返回用户自定义函数作用后的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

向array_map传入数组,出来的还是数组,而不是上面array_reduce()的一个值。所以,array_map()最简单的就是把callback函数作用到每个数组的值上,最常见的场景就是 intval()、trim() 数组中的值,在一些框架的源码中也经常见到,比如:

1 $arr = array('2','3','4','5');
2 array_map('intval' , $arr);//在拼接sql查询的时候,很有用
3 array_map('htmlspecialchars' , $arr);

猜你喜欢

转载自blog.csdn.net/Lucky____Boy/article/details/88557589
今日推荐