数组分组

按甲方,乙方分组

原数组:

array(4) {

[0] => array(6) {

["party_name"] => string(6) "甲方"

["party_entity_type"] => string(1) "2"

["party_entity_id"] => string(32) "cc4a18cd4a1b366c4225abd1e5d07c5a"

["party_status"] => string(0) ""

["enterprise_name"] => string(27) "测试用公司一"

["reason"] => string(0) ""

}

[1] => array(6) {

["party_name"] => string(6) "甲方"

["party_entity_type"] => string(1) "2"

["party_entity_id"] => string(32) "3a0cb5ae92e99635e9c2b6bf209f7918"

["party_status"] => string(0) ""

["enterprise_name"] => string(27) "测试用公司二"

["reason"] => string(0) ""

}

[2] => array(6) {

["party_name"] => string(6) "乙方"

["party_entity_type"] => string(1) "1"

["party_entity_id"] => string(32) "c76e4875dc108b37acb82d23347dd72f"

["party_status"] => string(0) ""

["enterprise_name"] => string(6) "邢聊聊"

["reason"] => string(0) ""

}

[3] => array(6) {

["party_name"] => string(6) "乙方"

["party_entity_type"] => string(1) "1"

["party_entity_id"] => string(32) "b83a005dbd0ea1970568aaa24e6ee1d2"

["party_status"] => string(0) ""

["enterprise_name"] => string(9) "貂知了"

["reason"] => string(0) ""

}

}

变换后数组:

array(2) {
  ["甲方"] => array(2) {
    [0] => array(6) {
      ["party_name"] => string(6) "甲方"
      ["party_entity_type"] => string(1) "2"
      ["party_entity_id"] => string(32) "cc4a18cd4a1b366c4225abd1e5d07c5a"
      ["party_status"] => string(0) ""
      ["enterprise_name"] => string(27) "测试用公司一"
      ["reason"] => string(0) ""
    }
    [1] => array(6) {
      ["party_name"] => string(6) "甲方"
      ["party_entity_type"] => string(1) "2"
      ["party_entity_id"] => string(32) "3a0cb5ae92e99635e9c2b6bf209f7918"
      ["party_status"] => string(0) ""
      ["enterprise_name"] => string(27) "测试用公司二"
      ["reason"] => string(0) ""
    }
  }
  ["乙方"] => array(2) {
    [0] => array(6) {
      ["party_name"] => string(6) "乙方"
      ["party_entity_type"] => string(1) "1"
      ["party_entity_id"] => string(32) "c76e4875dc108b37acb82d23347dd72f"
      ["party_status"] => string(0) ""
      ["enterprise_name"] => string(6) "邢聊聊"
      ["reason"] => string(0) ""
    }
    [1] => array(6) {
      ["party_name"] => string(6) "乙方"
      ["party_entity_type"] => string(1) "1"
      ["party_entity_id"] => string(32) "b83a005dbd0ea1970568aaa24e6ee1d2"
      ["party_status"] => string(0) ""
      ["enterprise_name"] => string(9) "貂知了"
      ["reason"] => string(0) ""
    }
  }
}

实装代码:

foreach ($contractPartyList as $key){

if(!array_key_exists($key[‘party_name‘],$allarr)){

$temparr = array();

$temparr[0] = $key;

$allarr[$key[‘party_name‘]] = $temparr;

}else{

$temparr = $allarr[$key[‘party_name‘]];

$temparr[count($temparr)] = $key;

$allarr[$key[‘party_name‘]] = $temparr;

}

}

时间: 2024-07-28 16:08:23

数组分组的相关文章

poj 3415 后缀数组分组+排序+并查集

Source Code Problem: 3415   User: wangyucheng Memory: 16492K   Time: 704MS Language: C++   Result: Accepted Source Code #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; #define N 510000

PHP 按照多个键值给数组分组合并

简介: $array 为一堆数组,各数组键值为固定 $keys为分组依据,在$array中按照$keys所指定的键值将数组分组,并且将除$keys指定键值对应的值以外的值合并 1 function groupBy($array,$keys){ 2 $i = 0; 3 while($i < sizeof($array)){ 4 $x = sizeof($array) - 1; 5 while ($x > $i) { 6 //取数组交集并返回交集,保留键名 7 $temp = array_inte

【2016.4.27】二维数组分组:按照一个键值,按照多个键值

<?php $arr = array( array('id' => 1, 'name' => 'seu','brand'=>'临'), array('id' => 1, 'name' => 'seu','brand'=>'临'), array('id' => 3, 'name' => 'njupt','brand'=>'兵'), array('id' => 3, 'name' => 'njupt','brand'=>'斗'),

IOS 数组分组 Grouped NSArray

NSMutableSet *set=[NSMutableSet set]; [_list enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { [set addObject:obj[@"MeasureType"]];//利用set不重复的特性,得到有多少组,根据数组中的MeasureType字段 }]; [set enumerateObjectsUsingBlock:^(id obj, BOOL *stop

关于mongodb的 数组分组 array group

mongodb支持array类型 在group的功能方面,mongodb确实不错.对于复杂的数据处理用mapreduce,但是这个玩意很慢,比较适合脚本处理数据,不适合实时数据查询 在实时数据处理方面得用管道,关于管道语法方面,参看: http://blog.csdn.net/terry_water/article/details/43529367 如果$class_artist是数组,需要对数组里面的数据进行group,那么可以使用$unwind ,它的功能就是把数组拆分出来,形成多条数据.

数组分组chunk的一种写法

lodash的_.chunk函数可以将数组按照数量分成若干组, 例如: const data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; const groupByNum = 3; 会分成 [ [1,2,3], [4,5,6], [7,8,9], [10,11] ] 下面是一种 map + slice 的写法 const result = Array.apply(null, { length: Math.ceil(data.length / groupByNum

14、【常见算法】数组分组排序

问题:给定一个包含红,白,蓝且长度为 n 的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红.白.蓝的顺序进行排序.我们可以使用整数 0,1 和 2 分别代表红,白,蓝.例如:有数组 [1, 0, 1, 2], 直接排序成 [0, 1, 1, 2].要求: 不能使用sort函数, 只扫描遍历一遍数组 1 #include <iostream> 2 using namespace std; 3 4 void sortColors(int * arr, int n) 5 { 6 int le

scala 对一个数组分组操作

通常我们有一些需求,对一个数组两两进行翻转,通常就涉及到奇数偶数,否则就会出现数组index异常了,所以我们该怎么办呢? 虽然是一个入门级问题,但是我还是觉得这是一个很有意思的题目,因此写了一个对于通用count 数组的操作,以后做题可以直接复制粘贴. val arr1 = Array(1, 2, 3, 4, 5) val arr2 = ArrayBuffer[Int]() val num = 3 for(i <- 0 until(arr1.length /num+1);j = i*num;k

js 根据数组分组动态生成table(相同项合并)

<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd"><html> <head> <title> new document </title> <script> //xxbh:学校编号,bjbh:班级编号,xx:姓名 var arrjson=[ {'