私は最近バグを見つけました、それは簡単に説明できません。非常に単純な問題であるので、それほど難しいはずはありませんが、私はこの問題を引き起こすPHPについて何か知りません。奇妙なPHPはそれに頼むことなくセシオンを書く
のは、この単純なコード見てみましょう:
session_start();
$temp = new stdClass;
$temp->id = 1;
$temp->name = "A";
$_SESSION['temp_obj'] = $temp;
$data = new stdClass;
$data->temp = $_SESSION['temp_obj'];
$data->temp->name = 'B';
print_r($_SESSION['temp_obj']);
出力を、言う必要があります。
stdClass Object ([id] => 1 [name] => A)
しかし、その代わりに、それは言う...だから
stdClass Object ([id] => 1 [name] => B)
を、$ _SESSION 、変更されており、コード内には何もありません。
$_SESSION['temp_obj'] = $data->temp;
したがって、$ _SESSION値を上書きしないでください。さらに、$ temp変数も上書きします。
エラーは表示されません。
誰でも私にこの問題についていくつかの光を与えることができますか?
ありがとうございます!
オブジェクトは単なるポインタです。彼らは影響を与えます。 –