douza19870617 2013-08-30 09:53
浏览 24
已采纳

分组多维数组

So I currently have an array that looks like this.

Array
(
    [name] => Array
        (
            [1] => Array
                (
                    [0] => 500aqua.jpg
                )

            [2] => Array
                (
                    [0] => 500beige.jpg
                    [1] => 500beige-zoom.jpg
                )

            [3] => Array
                (
                    [0] => P1040485.JPG
                    [1] => P1040486.JPG
                    [2] => P1040487.JPG
                )
        )

    [type] => Array
        (
            [1] => Array
                (
                    [0] => image/jpeg
                )

            [2] => Array
                (
                    [0] => image/jpeg
                    [1] => image/jpeg
                )

            [3] => Array
                (
                    [0] => image/jpeg
                    [1] => image/jpeg
                    [2] => image/jpeg
                )
        )

    [tmp_name] => Array
        (
            [1] => Array
                (
                    [0] => C:\xampp\tmp\php5F9.tmp
                )

            [2] => Array
                (
                    [0] => C:\xampp\tmp\php5FA.tmp
                    [1] => C:\xampp\tmp\php5FB.tmp
                )

            [3] => Array
                (
                    [0] => C:\xampp\tmp\php60C.tmp
                    [1] => C:\xampp\tmp\php63B.tmp
                    [2] => C:\xampp\tmp\php66B.tmp
                )
        )

    [error] => Array
        (
            [1] => Array
                (
                    [0] => 0
                )

            [2] => Array
                (
                    [0] => 0
                    [1] => 0
                )

            [3] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                )
        )

    [size] => Array
        (
            [1] => Array
                (
                    [0] => 133659
                )

            [2] => Array
                (
                    [0] => 148940
                    [1] => 211420
                )

            [3] => Array
                (
                    [0] => 3939511
                    [1] => 4742470
                    [2] => 4345899
                )
        )

)

And I want it to look something like this

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [name] => 500aqua.jpg
                    [type] => image/jpeg
                    [tmp_name] => C:\xampp\tmp\php5F9.tmp
                    [error] => 0
                    [size] => 133659

                )
        )
    [1] => Array
        (
            [0] => Array
                (
                    [name] => 500beige.jpg
                    [type] => image/jpeg
                    [tmp_name] => C:\xampp\tmp\php5FA.tmp
                    [error] => 0
                    [size] => 148940
                )
            [1] => Array
                (
                    [name] => 500beige-zoom.jpg
                    [type] => image/jpeg
                    [tmp_name] => C:\xampp\tmp\php5FB.tmp
                    [error] => 0
                    [size] => 211420
                )
        )
    [2] => Array
        (
            [0] => Array
                (
                    [name] => P1040485.JPG
                    [type] => image/jpeg
                    [tmp_name] => C:\xampp\tmp\php60C.tmp
                    [error] => 0
                    [size] => 148940
                )
            [1] => Array
                (
                    [name] => P1040486.JPG
                    [type] => image/jpeg
                    [tmp_name] => C:\xampp\tmp\php63B.tmp
                    [error] => 0
                    [size] => 148940
                )
            [2] => Array
                (
                    [name] => P1040487.JPG
                    [type] => image/jpeg
                    [tmp_name] => C:\xampp\tmp\php66B.tmp
                    [error] => 0
                    [size] => 148940
                )
        )
)

I've tried the following code but it only seems to get each of the last 3 in the arrays.

foreach ($data as $d) {
    foreach ($d as $key => $e) {
        foreach ($e as $key2 => $f) {
            $result[$key2][$key] = $f;
        }
    }
}

Like

Array
(
    [0] => Array
        (
            [name] => P1040485.JPG
            [type] => image/jpeg
            [tmp_name] => C:\xampp\tmp\php60C.tmp
            [error] => 0
            [size] => 3939511
        )

    [1] => Array
        (
            [name] => P1040486.JPG
            [type] => image/jpeg
            [tmp_name] => C:\xampp\tmp\php63B.tmp
            [error] => 0
            [size] => 4742470
        )

    [2] => Array
        (
            [name] => P1040487.JPG
            [type] => image/jpeg
            [tmp_name] => C:\xampp\tmp\php66B.tmp
            [error] => 0
            [size] => 4345899
        )

)

Thanks in advance.

  • 写回答

2条回答 默认 最新

  • doumu2172 2013-08-30 10:15
    关注

    Try this one:

    foreach ($data as $key1 => $value1) {
        foreach ($value1 as $key2 => $value2) {
            foreach ($value2 as $key3 => $value3) {
                $result[$key2][$key3][$key1] = $value3;
            }
        }
    }
    

    You forgot to include the Key on the first level ($key1): name, type etc.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀