首页 > 代码库 > 根据某一键名对键值相同的分类

根据某一键名对键值相同的分类

<pre>Array
(
    [0] => Array
        (
            [shi] => 市辖区
            [qu] => 曹子里
            [url] => s120100
        )

    [1] => Array
        (
            [shi] => 市辖区
            [qu] => 杨村
            [url] => s120100
        )

    [2] => Array
        (
            [shi] => 辖县
            [qu] => 蓟县
            [url] => s120200
        )

    [3] => Array
        (
            [shi] => 市辖区
            [qu] => 滨海北
            [url] => s120100
        )

    [4] => Array
        (
            [shi] => 辖县
            [qu] => 下仓
            [url] => s120200
        )

    [5] => Array
        (
            [shi] => 市辖区
            [qu] => 宝坻
            [url] => s120100
        )

    [6] => Array
        (
            [shi] => 市辖区
            [qu] => 天津南
            [url] => s120100
        )

    [7] => Array
        (
            [shi] => 辖县
            [qu] => 静海
            [url] => s120200
        )

    [8] => Array
        (
            [shi] => 市辖区
            [qu] => 军粮城北
            [url] => s120100
        )

    [9] => Array
        (
            [shi] => 市辖区
            [qu] => 天津
            [url] => s120100
        )

    [10] => Array
        (
            [shi] => 市辖区
            [qu] => 崔黄口
            [url] => s120100
        )

    [11] => Array
        (
            [shi] => 市辖区
            [qu] => 武清
            [url] => s120100
        )

    [12] => Array
        (
            [shi] => 辖县
            [qu] => 芦台
            [url] => s120200
        )

    [13] => Array
        (
            [shi] => 市辖区
            [qu] => 大口屯
            [url] => s120100
        )

    [14] => Array
        (
            [shi] => 市辖区
            [qu] => 天津西
            [url] => s120100
        )

    [15] => Array
        (
            [shi] => 市辖区
            [qu] => 豆张庄
            [url] => s120100
        )

    [16] => Array
        (
            [shi] => 市辖区
            [qu] => 滨海
            [url] => s120100
        )

    [17] => Array
        (
            [shi] => 辖县
            [qu] => 唐官屯
            [url] => s120200
        )

    [18] => Array
        (
            [shi] => 市辖区
            [qu] => 落垡
            [url] => s120100
        )

    [19] => Array
        (
            [shi] => 市辖区
            [qu] => 塘沽
            [url] => s120100
        )

    [20] => Array
        (
            [shi] => 市辖区
            [qu] => 茶淀
            [url] => s120100
        )

    [21] => Array
        (
            [shi] => 市辖区
            [qu] => 杨柳青
            [url] => s120100
        )

    [22] => Array
        (
            [shi] => 辖县
            [qu] => 上仓
            [url] => s120200
        )

)

//归类的函数
//合并某一字段键值相同的数组
function same_value_combine($array,$start){
    static $new;
    foreach($array as $k=>$v){
        if($v['shi']==$start){
            $new[$v['url']][] = $v;
            unset($array[$k]);
            continue;
        }
    }
    sort($array);
    if(count($array)!==0){
        same_value_combine($array,$array[0]['shi']);
    }
    return $new;
}

//执行函数

$new = same_value_combine($list,$list[0]['shi']);

################################################################################################
//打印结果
##################################################################################################

Array
(
    [s120100] => Array
        (
            [0] => Array
                (
                    [shi] => 市辖区
                    [qu] => 曹子里
                    [url] => s120100
                )

            [1] => Array
                (
                    [shi] => 市辖区
                    [qu] => 杨村
                    [url] => s120100
                )

            [2] => Array
                (
                    [shi] => 市辖区
                    [qu] => 滨海北
                    [url] => s120100
                )

            [3] => Array
                (
                    [shi] => 市辖区
                    [qu] => 宝坻
                    [url] => s120100
                )

            [4] => Array
                (
                    [shi] => 市辖区
                    [qu] => 天津南
                    [url] => s120100
                )

            [5] => Array
                (
                    [shi] => 市辖区
                    [qu] => 军粮城北
                    [url] => s120100
                )

            [6] => Array
                (
                    [shi] => 市辖区
                    [qu] => 天津
                    [url] => s120100
                )

            [7] => Array
                (
                    [shi] => 市辖区
                    [qu] => 崔黄口
                    [url] => s120100
                )

            [8] => Array
                (
                    [shi] => 市辖区
                    [qu] => 武清
                    [url] => s120100
                )

            [9] => Array
                (
                    [shi] => 市辖区
                    [qu] => 大口屯
                    [url] => s120100
                )

            [10] => Array
                (
                    [shi] => 市辖区
                    [qu] => 天津西
                    [url] => s120100
                )

            [11] => Array
                (
                    [shi] => 市辖区
                    [qu] => 豆张庄
                    [url] => s120100
                )

            [12] => Array
                (
                    [shi] => 市辖区
                    [qu] => 滨海
                    [url] => s120100
                )

            [13] => Array
                (
                    [shi] => 市辖区
                    [qu] => 落垡
                    [url] => s120100
                )

            [14] => Array
                (
                    [shi] => 市辖区
                    [qu] => 塘沽
                    [url] => s120100
                )

            [15] => Array
                (
                    [shi] => 市辖区
                    [qu] => 茶淀
                    [url] => s120100
                )

            [16] => Array
                (
                    [shi] => 市辖区
                    [qu] => 杨柳青
                    [url] => s120100
                )

        )

    [s120200] => Array
        (
            [0] => Array
                (
                    [shi] => 辖县
                    [qu] => 上仓
                    [url] => s120200
                )

            [1] => Array
                (
                    [shi] => 辖县
                    [qu] => 下仓
                    [url] => s120200
                )

            [2] => Array
                (
                    [shi] => 辖县
                    [qu] => 唐官屯
                    [url] => s120200
                )

            [3] => Array
                (
                    [shi] => 辖县
                    [qu] => 芦台
                    [url] => s120200
                )

            [4] => Array
                (
                    [shi] => 辖县
                    [qu] => 蓟县
                    [url] => s120200
                )

            [5] => Array
                (
                    [shi] => 辖县
                    [qu] => 静海
                    [url] => s120200
                )

        )

)

#################################################################################################################



根据某一键名对键值相同的分类