PHP 数组根据字段分组

2019-11-04  本文已影响0人  QinHaolei
 /**
     * @description:根据数据 
     * @param {dataArr:需要分组的数据;keyStr:分组依据} 
     * @return: array
     */
    protected function dataGroup(array $dataArr,$keyStr)
    {
        $newArr=[];
        foreach ($dataArr as $k => $val) {    //数据根据日期分组
            $newArr[$val[$keyStr]][] = $val;
        }
        return $newArr;
    }

    $list = array(
        array(
            'ctime'=>'2019-09-05 15:12:11',
            'openid'=>'1',
        ),
        array(
            'ctime'=>'2012-09-05 15:12:11',
            'openid'=>'2',
        ),
    );
    /** 1.根据时间分组*/
    $list=  $this->dataGroup($list,'ctime');
    /** 2.根据openid分组*/
    foreach($list as $k => $item){
        $list[$k]= $this->dataGroup($item,'openid');
    }

    /**
        json $list
        {
            2019-09-05 15:12:11:{
                1:{
                    'ctime':'2019-09-05 15:12:11',
                    'openid':'1', 
                }
            },
            2012-09-05 15:12:11:{
                2:{
                    'ctime':'2012-09-05 15:12:11',
                    'openid':'2', 
                }
            }
        }
    **/
上一篇下一篇

猜你喜欢

热点阅读