php中有关合并某一字段键值相同的数组合并的改进

时间:2022-01-07 19:37:50

下面是实现代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
**关于参数的说明
**$key键值相同的键名
**$array代表原数组
**$start代表$array[0][$key]
**$newkey代表相同键值相同的键名
**/
 
function combine_same_val($array,$start,$key,$newkey){
  static $new;
  foreach($array as $k=>$v){
    if($v[$key]==$start){
      $new[$v[$newkey]][] = $v;
      unset($array[$k]);
      continue;
    }
  }
  sort($array);
  if(count($array)!==0){
    combine_same_val($array,$array[0][$key],$key,$newkey);
  }
  return $new;
}