session_reset () не работает должным образом

Согласно описаниям PHP.net, session_reset () должен повторно инициализировать массив сеанса с исходными значениями. Тем не менее, когда я запускаю следующий код, вывод будет «Некоторое новое значение», тогда как вывод должен быть «Некоторое значение». Также мой смонтированный Версия PHP 5.6.1. Пожалуйста, ответьте, если знаете, в чем проблема?

<?php
session_start();

$_SESSION["A"] = "Some Value";

echo $_SESSION["A"];

$_SESSION["A"] = "Some New Value";

session_reset();

echo $_SESSION["A"];

?>

1

Решение

session_reset() на самом деле возвращается $_SESSION сразу после session_start()или, точнее, до последних сохраненных значений (либо по окончанию сценария, либо по session_write_close).

Так что, если ничего не было установлено для $ _SESSION [«A»], когда сессия была в последний раз закрыта, для вашего второго echo ты получишь Notice: Undefined index: Aоднако, если вам ранее было присвоено значение (например, значение «Некоторое новое значение» назначено, а затем сохранено) — вы получите это значение. Это, вероятно, случай в вашем примере.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]