/ / Sumuj wartości w tablicy wielowymiarowej według klucza - php, tablice, tablica wielowymiarowa

Wartości sum w tablicach wielowymiarowych według klucza - php, tablice, tablica wielowymiarowa

Przeczytałem tutaj wiele odpowiedzi na SO, ale nie udało mi się tego rozwiązać.

Mam wielowymiarową tablicę, która wygląda następująco:

Array

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

[1] => Array
(
[0] => IT-82
[1] => 14
)

[2] => Array
(
[0] => IT-21
[1] => 5
)

[3] => Array
(
[0] => IT-82
[1] => 7
)

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

[5] => Array
(
[0] => IT-21
[1] => 4
)

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

[7] => Array
(
[0] => IT-21
[1] => 3
)

[8] => Array
(
[0] => IT-72
[1] => 7
)

[9] => Array
(
[0] => IT-75
[1] => 22
)

[10] => Array
(
[0] => IT-75
[1] => 3
)
)

Chciałbym zsumować wartości według kluczy kończących się pojedynczą tablicą, np .:

Array
(
=> 661
IT-82 => 21
IT-21 => 12
IT-82 => 12
IT-72 => 7
IT-75 => 25
)

Próbowałem z

foreach ($array as $k=>$subArray) {
foreach ($subArray as $id=>$value) {
$sumArray[$id]+=$value;
}
}

ale to zwróciło tylko sumę wszystkich wartości.

Każda pomoc doceniona.

Odpowiedzi:

0 dla odpowiedzi № 1

Próbować:

$sumArray = array();
foreach ($array as $k=>$subArray) { //loop through array
if(isset($sumArray[$subArray[0]]))
$sumArray[$subArray[0]] += $subArray[1]; // set 0th index as key and 1st as value and add value to current index
else
$sumArray[$subArray[0]] = $subArray[1];
}
print_r($sumArray);

Wydajność:

Array
(
[] => 661
[IT-82] => 21
[IT-21] => 12
[IT-72] => 7
[IT-75] => 25
)

0 dla odpowiedzi nr 2

Przypuszczam, że powinno to być:

foreach ($array as $subArray) {
$sumArray[$subArray[0]] += $subArray[1];
}