echo $begrüßung;
$_SESSION['contents']['31{4}3{8}5'] = array();
$_SESSION['contents']['31{4}3{8}5']['quantity'] = 1;
$_SESSION['contents']['31{4}3{8}5']['attributes'] = array();
$_SESSION['contents']['31{4}3{8}5']['attributes']['4'] = 3;
$_SESSION['contents']['31{4}3{8}5']['attributes']['8'] = 5;
....
Abgesehen von der Vierdimansionalität, in der _ich_ mich wahrscheinlich verirren täte, kannst du eine foreach-Schleife anweisen, den Key eines Arrayelements auszugeben.
So wie es aussieht, handelt es sich nicht um vier Dimensionen sondern um eine (unregelmäßige) Baumstruktur mit einer Verschachtelungstiefe von maximal 4 Levels (wenn man das cart unbeachtet lässt). quantity beispielsweise befindet sich in Level 3 und hat nur einen skalaren Wert.
Ansonsten fällt mir da noch die Funktion key() ein.
key() eignet sich nicht für das Arbeiten mit foreach. für key() wird das Weitersetzen des internen Array-Zeigers benötigt (next()). foreach kümmert sich aber nicht um diesen.
echo "$verabschiedung $name";