こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

セッション変数

$_SESSION['name']=test
$_SESSION['pass']=pass

というようにセッション変数に、nameとpassを作成しました。

セッション変数とは、配列と考えてもいい物なのでしょうか
それとも、一個一個の変数と考えるべきなのでしょうか。
よくセッション変数と言われますが、記述のされ方が配列と同じようにみえるので気になりました。

・SESSION配列?
#############################
| name = 'test'  | pass = 'aaa' |
#############################

・SESSION変数?
###############   #############
|  name = 'test' |   | pass = 'aaa' |
###############   #############

どちらが正解なのでしょうか?

投稿日時 - 2012-05-17 21:33:50

QNo.7481291

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

#「配列」というのは「型」のひとつです。

$_SESSIONは変数です。そして型は配列です。$_POSTや$_SERVERもそうです。

$array= array(1, 2, 3);

と書けば、$array は変数であり、型は配列ですよね(各要素の型は整数型)。もちろん変数ですから他の型を代入すれば型は変ります。

$array = 4;

とすれば型は整数型に変わりますよね。

http://www.php.net/manual/ja/language.types.php

(蛇足)
無理矢理

$_SESSION = 1;

とすれば$_SESSIONは整数型になります。無意味なのでやりませんが(session_start()したら配列に戻ります)。

投稿日時 - 2012-05-17 22:06:31

お礼

>配列」というのは「型」のひとつです。
>$_SESSIONは変数です。そして型は配列です。$_POSTや$_SERVERもそうです。
>$array = 4;
>とすれば型は整数型に変わりますよね。

なんとなく理解することはできました。
参考アドレスもみながら理解していきたいと思います。

投稿日時 - 2012-05-27 00:37:35

ANo.1

言葉の定義の問題でしょうか?

<?PHP
session_start();
$_SESSION['name']="test";
$_SESSION['pass']="pass";
var_dump($_SESSION);
?>

してみると構造としては配列だとわかります
ただ、特性上「定義済の変数」として定義されています。

http://www.php.net/manual/ja/reserved.variables.php

投稿日時 - 2012-05-17 21:49:08

お礼

>特性上「定義済の変数」として定義されています。

構造は配列ですね。ただ定義上の変数ですか。
アドレスを参考にさせていただきたいと思います。

ありがとうございました。

投稿日時 - 2012-05-27 00:35:18

あなたにオススメの質問