Функция PHP array_keys дала мне то, что я хотел, и она намного проще, чем я ожидал.
$keys = array_keys($_SESSION);
echo 'SESSION keys: '; print_r($keys); echo '<br />';
которая дала мне то, что я хотел, распечатав:
SESSION keys: Array ( [0] => pan_image_array [1] => rates [2] => sitevars [3] => availy [4] => query )
Итак, затем я попытался с помощью foreach l oop по очереди сбросить каждый:
foreach ($keys as $key_value) {
echo 'Key Value is: ' . $key_value . '<br />';
unset ($_SESSION[$key_value]);
}
// Then print SESSION contents again:
$keys = array_keys($_SESSION);
echo 'SESSION keys: '; print_r($keys); echo '<br />';
Ожидалось, что это покажет мне пустой SESSION в конце, что он и сделал, напечатав:
SESSION keys: Array ( )
Казалось бы, это означает, что массив SESSION теперь пуст. Но когда я пошел посмотреть на СЕССИЮ в своем редакторе, первая переменная (индекс 0) все еще была там, как было подтверждено вторым (и последующим) прогоном, который напечатал:
SESSION keys: Array ( [0] => pan_image_array )
Key Value is: pan_image_array
SESSION keys: Array ( )
Итак, на В конце каждого цикла у меня есть явно пустой массив SESSION, но при проверке первый индекс все еще там. Почему я не могу сбросить первую переменную, давая мне «пустую» СЕССИЮ? Это мой код или пустой SESSION не разрешен?
В целях тестирования я пытаюсь создать пустой SESSION, но без создания нового SESSION с другим SID (фактически новым именем файла) каждый раз Пробую новый тестовый прогон. Это позволяет мне держать файл SESSION открытым в редакторе и следить за изменениями.