Cytat(rafiksq @ 7.02.2010, 16:12:01 )

Mam około 40 sesji, usuwam je przez:
foreach($_SESSION as $value => $key){
unset($_SESSION[$value]); }
ale chciałbym jedną zostawić np $_SESSION['wyjatek'].
Jak to zrobic?
Pomyslow na to jest sporo. Ale powoli.
1) Nie masz 40 sesji, tylko po 1 dla uzytkownika strony. Masz 40 zmiennych sesji.
2) foreach ... as $key => $value, tak to dziala (u Ciebie jest odwrotnie - kiedys sie przez to pomylisz).
3) Chcesz zrobic wyjatek to zrob zwykly warunek:
foreach($_SESSION as $key)
{
if ('wyjatek' != $key)
{
$unset($_SESSION[$key]);
}
}
Czesc nadgorliwa:
Usuwasz je w petli, a nie musisz, mozesz zrobic to bardziej optymalnie, np tak:
I w tej sytuacji mozesz zostawic sobie wyjatek o tak:
$_SESSION = array($_SESSION['wyjatek']);