牛骨文教育服务平台(让学习变的简单)
博文笔记

php数组根据某一个键值,把相同键值的合并生成一个新的二维数组

创建时间:2016-06-17 投稿人: 浏览次数:12276

php数组根据某一个键值,把相同键值的合并生成一个新的二维数组

源数据:

$infos = array(
        array(
                "a" => 36,
                "b" => "xa",
                "c" => "2015-08-28 00:00:00",
                "d" => "2015/08/438488a00b3219929282e3652061c2e3.png"
        ),
        array(
                "a" => 3,
                "b" => "vd",
                "c" => "2015-08-20 00:00:00",
                "d" => "2015/08/438488a00b3219929282e3652061c2e3.png"
        ),
        array(
                "a" => 6,
                "b" => "wwe",
                "c" => "2015-08-28 00:00:00",
                "d" => "2015/08/438488a00b3219929282e3652061c2e3.png"
        ),
        array(
                "a" => 36,
                "b" => "se",
                "c" => "2015-08-28 00:00:00",
                "d" => "2015/08/438488a00b3219929282e3652061c2e3.png"
        ),
        array(
                "a" => 6,
                "b" => "aw",
                "c" => "2015-08-28 00:00:00",
                "d" => "2015/08/438488a00b3219929282e3652061c2e3.png"
        ),
        array(
                "a" => 36,
                "b" => "bv",
                "c" => "2015-08-28 00:00:00",
                "d" => "2015/08/438488a00b3219929282e3652061c2e3.png"
        ),
        array(
                "a" => 12,
                "b" => "xx",
                "c" => "2015-08-27 00:00:00",
                "d" => "2015/08/438488a00b3219929282e3652061c2e3.png"
        )
);

处理要求:将数组中a相同的二维数组合并到一个数组中,生成一个新的数组

代码:

<?php
    $result= array();
    foreach ($infos as $key => $info) {
        $result[$info["a"]][] = $info;
    }
    print_r($result);

输出:

Array
(
    [36] => Array
        (
            [0] => Array
                (
                    [a] => 36
                    [b] => xa
                    [c] => 2015-08-28 00:00:00
                    [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
                )

            [1] => Array
                (
                    [a] => 36
                    [b] => se
                    [c] => 2015-08-28 00:00:00
                    [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
                )

            [2] => Array
                (
                    [a] => 36
                    [b] => bv
                    [c] => 2015-08-28 00:00:00
                    [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
                )

        )

    [3] => Array
        (
            [0] => Array
                (
                    [a] => 3
                    [b] => vd
                    [c] => 2015-08-20 00:00:00
                    [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
                )

        )

    [6] => Array
        (
            [0] => Array
                (
                    [a] => 6
                    [b] => wwe
                    [c] => 2015-08-28 00:00:00
                    [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
                )

            [1] => Array
                (
                    [a] => 6
                    [b] => aw
                    [c] => 2015-08-28 00:00:00
                    [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
                )

        )

    [12] => Array
        (
            [0] => Array
                (
                    [a] => 12
                    [b] => xx
                    [c] => 2015-08-27 00:00:00
                    [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
                )

        )

)
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。