php基础------将二维数组转三维数组

将二维数组转为三维数组

/**
     * 二维数组转三维数组(指定键为三维数组的键名)
     * @param  [type] $arr [要排序的数组]
     * @param  [type] $key [指定的键]
     * @return [type] $grouped   [重排的数组]
     */
    function array_group_by($arr, $key)
    {
        $grouped = [];
        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;
    }   

 

posted @ 2018-04-10 15:35  Tane  阅读(764)  评论(0编辑  收藏  举报