-2

これは純粋に配列のマージに関連しています

以下のような配列があります (これは、mysql クエリを介してデータベースにクエリを実行した後に取得されます):

Array

(
    [0] => Array
        (
            [id] => 9083
            [devicecount] => 3
            [device] => Android
        )

    [1] => Array
        (
            [id] => 9083
            [devicecount] => 17
            [device] => computer
        )

    [2] => Array
        (
             [id]=> 9083
            [devicecount] => 1
            [device] => Iphone
        )

    [3] => Array
        (
            [id] => 9083
            [devicecount] => 3
            [device] => mobile
        )

    [4] => Array
        (
            [id] => 9085
            [devicecount] => 4
            [device] => Android
        )

    [5] => Array
        (
            [id] => 9085
            [devicecount] => 4
            [device] => computer
        )

    [6] => Array
        (
            [id] => 9090
            [devicecount] => 2
            [device] => computer
        )

    [7] => Array
        (
            [id] => 9090
            [devicecount] => 2
            [device] => Iphone
        )

    [8] => Array
        (
            [id] => 9092
            [devicecount] => 4
            [device] => Android
        )

    [9] => Array
        (
            [id] => 9092
            [devicecount] => 3
            [device] => computer
        )

    [10] => Array
        (
            [id] => 9092
            [devicecount] => 4
            [device] => Iphone
        )

    [11] => Array
        (
            [id] => 9092
            [devicecount] => 1
            [device] => mobile
        )

)

上記の配列では、ID インデックスが重複しています。これらの重複を排除し、次のように新しい配列を取得する必要があります。

Array(

[0] => Array
        (
            [id] => 9083
            [Android]=>3
           [computer]=>17
            [iphone]=>1
          [mobile]=>3
        )

    [1] => Array
        (
            [id] => 9085
          [Android]=>4
           [computer]=>4
            [iphone]=>N/A
            [mobile]=>N/A

        )

    [2] => Array
        (
            [id] => 9090
          [Android]=>N/A
           [computer]=>2
            [iphone]=>2
 [mobile]=>N/A
        )

    [3] => Array
        (
            [id] => 9092
          [Android]=>4
           [computer]=>3
            [iphone]=>4
 [mobile]=>1
        )



)

新しい配列では、インデックスが設定されていない場合は N/A である必要があり、古い配列のデバイス値が新しい配列のキーになります。

4

1 に答える 1