多次元連想配列で重複してる値を変換して並び替えをするにはどうしたらよいでしょうか?
■変換前
PHP
1$data = [ 2 [ 3 'id' => 100, 4 'val'=> 1 5 ], 6 [ 7 'id' => 101, 8 'val'=> 1 9 ], 10 [ 11 'id' => 102, 12 'val'=> 1 13 ], 14 [ 15 'id' => 103, 16 'val'=> 1 17 ], 18 [ 19 'id' => 104, 20 'val'=> 2 21 ], 22 [ 23 'id' => 105, 24 'val'=> 2 25 ], 26 [ 27 'id' => 106, 28 'val'=> 3 29 ], 30 [ 31 'id' => 107, 32 'val'=> 4 33 ], 34 [ 35 'id' => 108, 36 'val'=> 5 37 ], 38 [ 39 'id' => 109, 40 'val'=> 6 41 ], 42 [ 43 'id' => 110, 44 'val'=> 7 45 ], 46 [ 47 'id' => 111, 48 'val'=> 7 49 ], 50 [ 51 'id' => 112, 52 'val'=> 7 53 ], 54 [ 55 'id' => 113, 56 'val'=> 8 57 ], 58 [ 59 'id' => 114, 60 'val'=> 8 61 ], 62 [ 63 'id' => 115, 64 'val'=> 9 65 ], 66 [ 67 'id' => 116, 68 'val'=> 9 69 ], 70 [ 71 'id' => 117, 72 'val'=> 10 73 ], 74 [ 75 'id' => 118, 76 'val'=> 11 77 ], 78 [ 79 'id' => 119, 80 'val'=> 11 81 ], 82 [ 83 'id' => 120, 84 'val'=> 12 85 ], 86 [ 87 'id' => 121, 88 'val'=> 12 89 ], 90 [ 91 'id' => 122, 92 'val'=> 12 93 ], 94 [ 95 'id' => 123, 96 'val'=> 13 97 ], 98 [ 99 'id' => 124, 100 'val'=> 13 101 ], 102 [ 103 'id' => 125, 104 'val'=> 13 105 ], 106]
↓
■変換後
PHP
1$data = [ 2 [ 3 'id' => 100, 4 'val'=> 1 5 ], 6 [ 7 'id' => 101, 8 'val'=> 14 9 ], 10 [ 11 'id' => 102, 12 'val'=> 27 13 ], 14 [ 15 'id' => 103, 16 'val'=> 40 17 ], 18 [ 19 'id' => 104, 20 'val'=> 2 21 ], 22 [ 23 'id' => 105, 24 'val'=> 15 25 ], 26 [ 27 'id' => 106, 28 'val'=> 3 29 ], 30 [ 31 'id' => 107, 32 'val'=> 4 33 ], 34 [ 35 'id' => 108, 36 'val'=> 5 37 ], 38 [ 39 'id' => 109, 40 'val'=> 6 41 ], 42 [ 43 'id' => 110, 44 'val'=> 7 45 ], 46 [ 47 'id' => 111, 48 'val'=> 20 49 ], 50 [ 51 'id' => 112, 52 'val'=> 33 53 ], 54 [ 55 'id' => 113, 56 'val'=> 8 57 ], 58 [ 59 'id' => 114, 60 'val'=> 21 61 ], 62 [ 63 'id' => 115, 64 'val'=> 9 65 ], 66 [ 67 'id' => 116, 68 'val'=> 22 69 ], 70 [ 71 'id' => 117, 72 'val'=> 10 73 ], 74 [ 75 'id' => 118, 76 'val'=> 11 77 ], 78 [ 79 'id' => 119, 80 'val'=> 24 81 ], 82 [ 83 'id' => 120, 84 'val'=> 12 85 ], 86 [ 87 'id' => 121, 88 'val'=> 25 89 ], 90 [ 91 'id' => 122, 92 'val'=> 38 93 ], 94 [ 95 'id' => 123, 96 'val'=> 13 97 ], 98 [ 99 'id' => 124, 100 'val'=> 26 101 ], 102 [ 103 'id' => 125, 104 'val'=> 39 105 ], 106] 107 108valの昇順で並び替えを行いたい 109 110$data = [ 111 [ 112 'id' => 100, 113 'val'=> 1 114 ], 115 [ 116 'id' => 104, 117 'val'=> 2 118 ], 119 [ 120 'id' => 106, 121 'val'=> 3 122 ], 123 [ 124 'id' => 107, 125 'val'=> 4 126 ], 127 [ 128 'id' => 108, 129 'val'=> 5 130 ], 131 [ 132 'id' => 109, 133 'val'=> 6 134 ], 135 [ 136 'id' => 110, 137 'val'=> 7 138 ], 139 [ 140 'id' => 113, 141 'val'=> 8 142 ], 143 [ 144 'id' => 115, 145 'val'=> 9 146 ], 147 [ 148 'id' => 117, 149 'val'=> 10 150 ], 151 [ 152 'id' => 118, 153 'val'=> 11 154 ], 155 [ 156 'id' => 120, 157 'val'=> 12 158 ], 159 [ 160 'id' => 123, 161 'val'=> 13 162 ], 163 [ 164 'id' => 101, 165 'val'=> 14 166 ], 167 [ 168 'id' => 105, 169 'val'=> 15 170 ], 171 [ 172 'id' => 111, 173 'val'=> 20 174 ], 175 [ 176 'id' => 114, 177 'val'=> 21 178 ], 179 [ 180 'id' => 116, 181 'val'=> 22 182 ], 183 [ 184 'id' => 119, 185 'val'=> 24 186 ], 187 188 [ 189 'id' => 121, 190 'val'=> 25 191 ], 192 [ 193 'id' => 124, 194 'val'=> 26 195 ], 196 [ 197 'id' => 102, 198 'val'=> 27 199 ], 200 [ 201 'id' => 112, 202 'val'=> 33 203 ], 204 [ 205 'id' => 122, 206 'val'=> 38 207 ], 208 [ 209 'id' => 125, 210 'val'=> 39 211 ], 212 [ 213 'id' => 103, 214 'val'=> 40 215 ], 216 217] 218 219