您现在的位置是:首页 > PHP > 网站首页PHP
简介
最近在做一个项目 需要根据类型分一次组,然后在类型下面又要根据一个字段在分一次组,之前本来想的是数据库查询两次 第一次先根据类型查询出来 然后在循环两种类型 再次进行分组 但是数据量过大很影响 ,于是乎就想先分一次组然后第二次分组交个php来处理
最近在做一个项目 需要根据类型分一次组,然后在类型下面又要根据一个字段在分一次组,之前本来想的是数据库查询两次 第一次先根据类型查询出来 然后在循环两种类型 再次进行分组 但是数据量过大很影响 ,于是乎就想先分一次组然后第二次分组交个php来处理
下面废话不多少直接上代码
/**
* @param $arr 原来的数组
* @param $key 要分的数组名称
* @return arrayPHP实现二维数组group 分组的方法
*/
function array_group_by($arr, $key){
$grouped = array();
foreach ($arr as $value) {
$grouped[$value[$key]][] = $value;
}
if (func_num_args() > 2) {
$args = func_get_args();
foreach ($grouped as $key => $value) {
$parms = array_merge($value, array_slice($args, 2, func_num_args()));
$grouped[$key] = call_user_func_array('array_group_by', $parms);
}
}
return $grouped;
}
下一篇:生成多个不重复的随机数字php