Будет ли создание нового массива очищать все данные сессии php? - PullRequest
1 голос
/ 27 июня 2010

код ниже:

$_SESSION = array();

Будет ли он очищать все данные сеанса? Если бы я не хотел использовать session_destory ().

Ответы [ 2 ]

3 голосов
/ 27 июня 2010

Да, он уничтожит все данные сеанса, но не сам сеанс.

По сути, в сессии есть три элемента:

  • Сам сеанс, инициализированный с session_start()
  • Сеансовый cookie, который устанавливается автоматически
  • Данные сеанса, которые устанавливаются с помощью $_SESSION['foo'] = 'bar'

То есть вы уничтожаете только данные сеанса. session_destroy() уничтожает как данные, так и сам сеанс, но не удаляет cookie сеанса.

Единственная «реальная» разница между $_SESSION = array() и session_destroy() заключается в том, что после session_destroy() настройка данных сеанса больше не будет работать до инициализации нового сеанса.

0 голосов
/ 27 июня 2010

Да , установка $_SESSION в пустой массив приведет к значительному удалению всех существующих ключей массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...