ok, la mia era solo una dritta, non avevo letto...

comunque risolve il tuo problema.

Aspetta:
Codice PHP:
// Prima popoliamo l'array come detto sopra
while($row=mysql_fetch_array($punti)){  
    
$ex[]=array($row["data"], $row["goals"], $row["assist"], $row["penalita"]); 
}

// inizializziamo
$totGoals=0;
$totAssists=0;
$totPenalita=0;
$appo_ex = array();

// incrementiamo
foreach ($ex as $valore){
    
// indice 0 è la data che non c'interessa
    
$totGoals+=$valore[1]; // indice 1 sono i goals
    
$totAssists+=$valore[2]; // indice 2 sono gli assist
    
$totPenalita+=$valore[3]; // indice 3 sono le penalità
    
$appo_ex[] = array($valore[0],$totGoals$totAssists$totPenalita);
}

// poi facciamo un cicletto carino che ti scrive una table html per controllare immediately se è quello che chiedi
// e così capisci meglio come sono strutturati 'sti array multidimensionali
echo "<table border=\"1\">";
echo 
"<th>Data</th><th>Goals</th><th>Assist</th><th>Penalità</th>";
foreach (
$appo_ex as $valore){
  echo 
"<tr>";
    foreach (
$valore as $val){
        echo 
"<td>$val</td>";
    }
  echo 
"</tr>";
}
echo 
"</table>"
Spero funzioni... controlla, ho sostituito $ex con $appo_ex dentro alla fase html