これは純粋に配列のマージに関連しています
以下のような配列があります (これは、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 である必要があり、古い配列のデバイス値が新しい配列のキーになります。