13
PHP 5.6からPHP 7にアップグレードしていて、奇妙な問題が発生しました。
<?php
session_start();
$_SESSION['test'] = true;
$var = $_SESSION;
session_unset();
print_r($var);
PHP 5.6 出力:
Array
(
[test] => 1
)
PHP 7 出力:
Array
(
)
私は$_SESSION
が参照によって渡されるため、これが起こっていると仮定しますが、なぜですか?
MCVE:https://3v4l.org/Lg0IE – Pete
: '$ var =&$ _ SESSION;'に変更すると、すべてのPHPバージョンで同じ動作が得られます。私はあなたが以前のPHPバージョンで '書き込み時にコピー'に会ったと思う。 https://3v4l.org/vv9PU –
私は空の配列を取得しますが、 '$ var'に格納された値を保持する必要があります –