I have 2D array (showed bellow) - output of wp_query (Wordpress).
I need to group the arrays by index 0, 1, 2 values (lets think that the primary key is composed from these values and it should be unique in result table) and sum the index 3 values.
array(4) {
[0]=> string(6) "Team 1"
[1]=> string(6) "Jack"
[2]=> string(6) "Daniels"
[3]=> string(2) "10"
}
array(4) {
[0]=> string(6) "Team 1"
[1]=> string(3) "Jan"
[2]=> string(6) "Novak"
[3]=> string(2) "33"
}
array(4) {
[0]=> string(6) "Team 2"
[1]=> string(4) "John"
[2]=> string(3) "Doe"
[3]=> string(2) "11"
}
array(4) {
[0]=> string(6) "Team 2"
[1]=> string(4) "Jane"
[2]=> string(3) "Doe"
[3]=> string(2) "18"
}
array(4) {
[0]=> string(6) "Team 1"
[1]=> string(6) "Jack"
[2]=> string(6) "Daniels"
[3]=> string(1) "5"
}
array(4) {
[0]=> string(6) "Team 1"
[1]=> string(3) "Jan"
[2]=> string(6) "Novak"
[3]=> string(2) "33"
}
array(4) {
[0]=> string(6) "Team 2"
[1]=> string(4) "John"
[2]=> string(3) "Doe"
[3]=> string(2) "11"
}
array(4) {
[0]=> string(6) "Team 2"
[1]=> string(4) "Jane"
[2]=> string(3) "Doe"
[3]=> string(2) "18"
}
ETC...
Output should be someting like:
array(4) {
[0]=> string(6) "Team 1"
[1]=> string(6) "Jack"
[2]=> string(6) "Daniels"
[3]=> string(2) "15" (5+10)
}
array(4) {
[0]=> string(6) "Team 1"
[1]=> string(3) "Jan"
[2]=> string(6) "Novak"
[3]=> string(2) "66" (33+33)
}
array(4) {
[0]=> string(6) "Team 2"
[1]=> string(4) "John"
[2]=> string(3) "Doe"
[3]=> string(2) "22" (11+11)
}
array(4) {
[0]=> string(6) "Team 2"
[1]=> string(4) "Jane"
[2]=> string(3) "Doe"
[3]=> string(2) "36" (18+18)
}
}
I tried to do this by recursive for loops, but I cannot find the reason why is it not working properly.
$vysledna_tabulka = array();
$aktualni;
foreach($seznam_vsech_hracu_vsech_tymu as $radek){
if(empty($vysledna_tabulka)){
array_push($vysledna_tabulka,$radek);
} else{
foreach($vysledna_tabulka as $vysledny_radek){
if($vysledny_radek[0]==$radek[0] && $vysledny_radek[1]==$radek[1] && $vysledny_radek[2]==$radek[2]){
$vysledny_radek[3]+=$radek[3];
} else {
$aktualni = $radek;
}
}
array_push($vysledna_tabulka,$aktualni);
}
}
I think there should be a better way to do this. Is there anyone who could help me?
Thanks.