echo $begrüßung;
$name=trim("$name");
Es ist unsinnig, Variablennamen mit "" einzurahmen. Lass die "" weg.
array\_push($ausgabe[$name],$zwischen);
Statt der Funktion array_push() verwende lieber den Array-Zugriffsoperator []
$ausgabe[$name][] = $zwischen;
Mit dem Sortieren habe ich allerdings noch Probleme. Gehe mal davon aus, dass array_multisort(); zu verwenden ist. Nun möchte ich nach $ausgabe[$name] sortieren und dann nach $zwischen[titel]
Zum einen willst du nach den Array-Keys sortieren, denn der Name ist ja nun als Schlüssel abgelegt, und außerdem die inneren Arrays jedes für sich nach einem der Werte. Das würde ich in Einzelschritte ohne array_multisort() teilen. Der erste Schritt ist eine Sortierung nach Keys, wofür du ksort() verwenden kannst. Dann müsstest du durch das äußere Array laufen und jeweils das innere sortieren, wofür du eine Sortierfunktion mit benutzerdefinierter Vergleichsfunktion verwenden kannst, beispielsweise usort(). Die Vergleichsfunktion übernimmt zwei Parameter, das sind jeweils zwei Array-Elemente, was in deinem Fall zwei Datensätze sind. Von denen willst du die Elemente mit dem Schlüssel 'titel' vergleichen. Dafür kannst du strcmp() nehmen, das dir gleich das für die Vergleichsfunktion passende Ergebnis (-1, 0 oder 1) liefert.
function vergleiche_titel($a, $b) {
return strcmp($a['titel'], $b['titel']);
}
echo "$verabschiedung $name";