Liebe(r) doni,
da steckt ein Denkfehler im System!
foreach ($albums as $key => $row){ $row['date'] = date("d.m.y", $row['date']); }
Du gibst innerhalb einer Schleife die Anweisung, dass in der (Array-)Variablen $row, die in dieser Schleife erst erzeugt wird, und die nur eine Kopie von $albums[$key] ist, ein Wert geändert wird. Anschließend wunderst Du Dich, dass $albums unverändert bleibt...
Vergleiche einmal folgende Zeilen:
foreach ($albums as $key => $row) {
// $key enthält Index zu $albums,
// $row enthält eine Kopie des darin abgelegten Arrays
// $row = array('title' => ..., 'date' => ...)
$albums[$key]['date'] = ...
Liebe Grüße aus Ellwangen,
Felix Riesterer.