今確認したところ、PHPセッション変数が同名の宣言変数で上書きされる。つまり、セッション変数$_SESSION['lan'] = 'xyz'(グローバル変数) と PHP ページ x.php の 1 つがループ内に変数を持っています$lan。foreachこのループの$_SESSION['lan']最後に、foreach ループで使用される配列の最後の値によって上書きされます。
つまり$_SESSION['lan']、値「abc」があり、その lan$_SESSIONグローバル変数は今後「abc」になりました。