Поскольку $ _ SESSION является суперглобальным, он всегда доступен во всех областях.
То, что сам сеанс не был инициализирован браузером, не означает, что эта переменная не существует. Он все еще там, чтобы быть использованным, и вы можете хранить его в любое время, но, насколько я понимаю, он будет уничтожен, если вы напишите ему, затем инициализируют сеанс. *
редактирование:
Этот код приводит к two => Second
, как и ожидалось.
<?php
$_SESSION['test'] = "string";
session_start();
$_SESSION['two'] = "Second";
foreach( $_SESSION as $key => $val )
{
print $key . " => " . $val;
print "<br />";
}
?>