php 二維數組去重及合併方法

下面是例子:

以下是待處理數組:

array(2) {
  [0] => array(5) {
    ["id"] => int(1)
    ["moduleid"] => int(372)
    ["addtime"] => string(19) "2020-06-12 17:04:53"
    ["order_id"] => int(857)
    ["hid"] => int(201)
  }
  [1] => array(5) {
    ["id"] => int(2)
    ["moduleid"] => int(372)
    ["addtime"] => string(19) "2020-06-12 17:19:15"
    ["order_id"] => int(857)
    ["hid"] => int(201)
  }
}

我們的目標是處理成如下格式的:

array(1) {
  [0] => array(4) {
    ["moduleid"] => string(3) "372"
    ["order_id"] => string(3) "857"
    ["addtime"] => string(39) "2020-06-12 17:04:53,2020-06-12 17:19:15"
 
  }
}

實現方法如下:

       $VenueLists 這個是上面待處理的數組
       $tmp = array();
        $result = array();
        foreach ($VenueLists as $item) {
            $key = $item['moduleid'] . '_' . $item['order_id'];
            if (empty($tmp[$key])) {
                $tmp[$key] = $item['addtime'];
                } else {
                $tmp[$key] .=",". $item['addtime'];
            }
        }
        foreach ($tmp as $key => $item) {
            list($name, $id) = explode('_', $key);
            $result[] = array('moduleid' => $name, 'order_id' => $id, 'addtime' => $item);
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章