21
So würde ich das probieren (ungetestet):
$referers ist hier ja ein mehrdimensionales Array, deswegen werden zwei Schleifen benötigt, um den Inhalt auszugeben. In der ersten Schleife wird das Array nach Jahren aufgeteilt und die resultierenden Einzel-Arrays sortiert und in einer inneren Schleife schließlich ausgegeben. Ich habe das ganze nicht getestet - wenn der Code nicht wie gewünscht funktioniert, kannst du dir zur Analyse mit var_dump auch den Inhalt der einzelnen Arrays anzeigen lassen
$referers = array();
while (list($adr, $jahr) = mysql_fetch_row($adressen_query)){
    $host = getHost($adr);
    if (! isset($referers[$jahr][$host])) {
        $referers[$jahr][$host] = 1;
    } else {
        $referers[$jahr][$host] = $referers[$jahr][$host] + 1;
    }
}foreach ($referers as $year => $referers_in_year) {
    asort($referers_in_year);
    echo "<h2>$year</h2>\n";
    echo "<ul>\n";
    foreach ($referers_in_year as $host => $hits) {
        echo "<li>$host: $hits</li>\n";
    }
    echo "</ul>\n";
}$referers ist hier ja ein mehrdimensionales Array, deswegen werden zwei Schleifen benötigt, um den Inhalt auszugeben. In der ersten Schleife wird das Array nach Jahren aufgeteilt und die resultierenden Einzel-Arrays sortiert und in einer inneren Schleife schließlich ausgegeben. Ich habe das ganze nicht getestet - wenn der Code nicht wie gewünscht funktioniert, kannst du dir zur Analyse mit var_dump auch den Inhalt der einzelnen Arrays anzeigen lassen