定义和用法

array_reduce() 函数发送数组中的值到用户自定义函数,并返回一个字符串。

注释:如果数组是空的或者初始值未传递,该函数返回 NULL。


语法

array_reduce(array,myfunction,initial)

参数描述
array必需。规定数组。
myfunction必需。规定函数的名称。
initial可选。规定发送到函数处理的第一个值。

技术细节

返回值:返回结果值。
PHP 版本:4.0.5+
更新日志:自 PHP 5.3.0 起,initial 参数接受多类型(混合的),PHP 5.3.0 之前的版本只支持整数。
从数据库中查询出一组数据,接下来想得到他们的 id 值,拼接成类似 (1,2,3,4,5) 字符串,然后在 “SELECT * WHERE id in(1,2,3,4,5) ” 处理,这时候完全可以 foreach() 数组处理,其实也可以使用 array_reduce(),因为 array_reduce()就是“迭代地将数组简化为单一的值”,如下

$arr = array(
  array("id"=>1,'name'=>"a"),
  array("id"=>2,"name"=>"c"),
  array("id"=>3,"name"=>"d")
     );
      echo array_reduce($arr , function($result , $v){
  Return $result.','.$v['id'];
      });
在业务中遇到foreach循环处理,有时候我们就可以想想能不能像这样处理。