Hallo,
//alle meine sessionvars löschen
foreach($_SESSION as $k=>$v)
{
unset($_SESSION[$k]);
}
Warum so komliziert?
Nun hast Du doch das Prinzip schon begriffen!
Es gibt eine sogenannte "superglobale Variable", die im ganzen Script über die selbe Referenz (Namen) erreichbar ist. Da die Speicherallokation in PHP fast 100% durchgängig sauber funktioniert, kannst Du darauf vertrauen, dass bei Neuzuweisung (Neuallokation) einer Variablen diese
- temporär angelegt wird
- dieder der erforderliche Typ und Speicherplatz zugewiesen wird
- dieser die Wete aus einer evtl schon vorher vorhandenen Variablen gleichen Namens zugeordnet werden ( Vname = Vname ) oder auch bei Teilbereichen ( Vname = Vname.Unterbereich)
- der Speicher für die alte Variable danach freigegeben wird
- in der Namensliste die Referenz auf den Speicherbereich der neuen Variable "umgebucht" wird.
Du musst also, um $_SESSION zu initialisieren, nur
$_SESSION = array();
schreiben.
Alles andere macht PHP automatisch für Dich. Theoretisch könntest Du auch
$_SESSION="";
schreiben, was aber bei der Zuweisung eines Subrecords für $_SESSION
später Probleme bereiten könnte.
Grüße
Der blanke Hans