Трехмерный массив, $_SESSION и unset()

gorden

Новичок
Трехмерный массив, $_SESSION и unset()

Здравствуйте. Первый раз с таким сталкиваюсь. Пытаюсь внести в сессион-переменную трехмерный ассоциативный массив и вот такая штука получается:

К примеру $p1, $p2, $p3 содержат строковые значения

PHP:
 $_SESSION[$p1][$p2][$p3] = "OK";
PHP:
 echo $_SESSION[$p1][$p2][$p3];    //видим "ОК"
Далее:

PHP:
 unset($_SESSION[$p1][$p2][$p3]);
PHP:
 echo $_SESSION[$p1][$p2][$p3];  // опять видим "OK"
Т.е. не удаляется ячейка массива и unset() не работает.

Если использовать двухмерный массив - например:

PHP:
 $_SESSION[$p1][$p2] = "OK";
PHP:
 unset($_SESSION[$p1][$p2]);
то все работает.

Подскажите пожалуйста в чем может быть проблема.
PHP 4.3.2, Apache 2.0, Windows, register_globals = on

Спасибо,
Денис.
 

gorden

Новичок
Обновил до 4.4.0 на локальной машине. Теперь все работает, спасибо.

А как например быть тем, у кого на хостинге стоит PHP 4.3.2. Еще наверное есть такие.

Спасибо....
 

technologys

Новичок
Есть способ и для старых версий.

Пишешь данные сессии в переменную, уничтожаешь сессию, создаешь новую сессию и пишешь туда что надо.
 
Сверху