は、私は$ _SESSION VAR
class A
{
static function doSomething()
{
$_SESSION['foo'] = 'bar';
}
}
A::doSomething();
var_dump($_SESSION);
で奇妙な機能を発見しました。誰が実際に何が起こるか説明できますか?
は、私は$ _SESSION VAR
class A
{
static function doSomething()
{
$_SESSION['foo'] = 'bar';
}
}
A::doSomething();
var_dump($_SESSION);
で奇妙な機能を発見しました。誰が実際に何が起こるか説明できますか?
$_SESSION
はsuperglobal arrayです:デフォルトでは
、スーパーグローバルのすべてが利用可能です...
だから、常にこの配列にアクセスすることができます。これは、POSTリクエストがなかった場合でも機能しますが、$_POST['foo'] = 'bar'
を実行できます。
session_start();
を呼び出さなかったので、echo $_SESSION['foo'];
がエラーをスローする、A :: doSomethingを呼び出さない、あなたの例の別のページに移動しようとすると、エラーがスローされます。
$ _SESSIONはスーパーグローバルなので、session_start()
が呼び出されていなくてもアクセスできます。
また、あなたが
$_SESSION = array();
の$ _SESSION配列を初期化する必要はありません、他の配列と同じよう
$_SESSION['foo'] = 'bar';
をそれを使用するために、出力は何ですか?あなたは何を期待しましたか?どうしたの? –