dsm0688 2013-12-02 07:00
浏览 29
已采纳

too long

I have a question i hope someone could help me out here

I have a php array like this

Array
(
    [0] => Array
        (
            [0] => AJP
            [1] => PR4 125 Enduro / SM
            [2] => 125 c.c.
        )
[1] => Array
    (
        [0] => DUCATI
        [1] => YR 125 Desert
        [2] => 125 c.c.
    )

[2] => Array
    (
        [0] => GAS GAS
        [1] => Endurocross TT 80
        [2] => 80 c.c.
    )

[3] => Array
    (
        [0] => GAS GAS
        [1] => EC 125 Six Days 2T
        [2] => 125 c.c.
    )

[4] => Array
    (
        [0] => GAS GAS
        [1] => EC 125 R
        [2] => 125 c.c.
    )

[5] => Array
    (
        [0] => GAS GAS
        [1] => Enducross EC 125
        [2] => 125 c.c.
    )

[6] => Array
    (
        [0] => GAS GAS
        [1] => Enducross HX 125
        [2] => 125 c.c.
    )

[7] => Array
    (
        [0] => GAS GAS
        [1] => Enducross TT 125
        [2] => 125 c.c.
    )

[8] => Array
    (
        [0] => GAS GAS
        [1] => MC 125
        [2] => 125 c.c.
    )

[9] => Array
    (
        [0] => GAS GAS
        [1] => Enducross EC 200
        [2] => 200 c.c.
    )

[10] => Array
    (
        [0] => GAS GAS
        [1] => EC 200 Six Days 2T
        [2] => 200 c.c.
    )

[11] => Array
    (
        [0] => GAS GAS
        [1] => EC 250 2T / EC 250 E 2T
        [2] => 250 c.c.
    )

[12] => Array
    (
        [0] => GAS GAS
        [1] => EC 250 4T / Six Days 2T
        [2] => 250 c.c.
    )

[13] => Array
    (
        [0] => GAS GAS
        [1] => EC 250 4T R / EC 250 R
        [2] => 250 c.c.
    )

[14] => Array
    (
        [0] => GAS GAS
        [1] => Enducross TT 250
        [2] => 250 c.c.
    )

[15] => Array
    (
        [0] => GAS GAS
        [1] => FSE EC 250 4T
        [2] => 250 c.c.
    )

[16] => Array
    (
        [0] => GAS GAS
        [1] => MC 250
        [2] => 250 c.c.
    )

[17] => Array
    (
        [0] => GAS GAS
        [1] => EC 300 / EC 300 Nanbolin
        [2] => 300 c.c.
    )

[18] => Array
    (
        [0] => GAS GAS
        [1] => EC 300 R
        [2] => 300 c.c.
    )

[19] => Array
    (
        [0] => GAS GAS
        [1] => EC 300 Six Days 2T
        [2] => 300 c.c.
    )

[20] => Array
    (
        [0] => GAS GAS
        [1] => Enducross EC 400 FSE
        [2] => 400 c.c.
    )

[21] => Array
    (
        [0] => GAS GAS
        [1] => SM 450 FSR
        [2] => 450 c.c.
    )

[22] => Array
    (
        [0] => GAS GAS
        [1] => Enducross EC 450 FSE
        [2] => 450 c.c.
    )

[23] => Array
    (
        [0] => GAS GAS
        [1] => EC 450 4T R
        [2] => 450 c.c.
    )

[24] => Array
    (
        [0] => GAS GAS
        [1] => FSE 450 SM
        [2] => 450 c.c.
    )

[25] => Array
    (
        [0] => GAS GAS
        [1] => Pampera 450 4T
        [2] => 450 c.c.
    )

[26] => Array
    (
        [0] => GAS GAS
        [1] => EC 515 FSR 4T
        [2] => 515 c.c.
    )

)

I want to format it like

Array
(
    [AJP] => Array
        (
            [1] => PR4 125 Enduro / SM
            [2] => 125 c.c.
        )

[DUCATI] => Array
    (
        [1] => YR 125 Desert
        [2] => 125 c.c.
    )
[GAS GAS] => Array
    (
        [0] => Array
            (
                [1] => EC 125 Six Days 2T
                [2] => 125 c.c.
            )

        [1] => Array
            (
                [1] =>EC 125 Six Days 2T
                [2] => 125 c.c.
            )

        [2] => Array
            (
                [1] => EC 125 Six Days 2T
                [2] => 125 c.c.
            )
    )

) So that The Brand name Like AJP,DUCATI OR GAS GAS becomes the key and all the models in them become multi array.

  • 写回答

4条回答 默认 最新

  • donglao4370 2013-12-02 07:16
    关注

    PHPFiddle: http://phpfiddle.org/main/code/4mi-ap0

    $raw = array(
        array('ajp', 1, 2),
        array('ajp', 4, 5),
        array('ducati', 3, 4)
        );
    
    $prep = array();
    foreach($raw as $key => $value) {
    
        $type = $value[0];
    
        $prep[$type][] = $raw[$key];
    
        /*if($type === 'ajp') {
            $prep['ajp'][] = $raw[$key];
        }
        else if($type === 'ducati') {
            $prep['ducati'][] = $raw[$key];
        }*/
    
    }
    
    echo '<pre>';
    print_r($prep);
    echo '</pre>';
    

    Result:

    Array
    (
        [ajp] => Array
            (
                [0] => Array
                    (
                        [0] => ajp
                        [1] => 1
                        [2] => 2
                    )
    
                [1] => Array
                    (
                        [0] => ajp
                        [1] => 4
                        [2] => 5
                    )
    
            )
    
        [ducati] => Array
            (
                [0] => Array
                    (
                        [0] => ducati
                        [1] => 3
                        [2] => 4
                    )
    
            )
    
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算