[PHP-users 5263] session_register 内での配列について

千秋 元宏 php-users@php.gr.jp
Thu, 7 Feb 2002 01:13:10 +0900


はじめまして、千秋@タスク と申します。
PHPについて本MLをはじめ、いろいろと
参考にさせていただいておりますが、ひとつ
解決できない疑問がありますので、ご教授
いただけますでしょうか。

session_register () 内において、配列を利用
出来ないか、ということです。具体的には

<?php
for ($i = 0;$i  < 2;$i++) {
 session_register ("foo[$i]");
}
?>

とした場合、例えば

$foo[0] = 1;
print ($foo[0]);

とすれば、当然 1 が返ってきます。が、
ブラウザを移動すると値が消えており、
session変数の役割を果たしません。
これに対し単純に、

<?php
session_regester ("foo[0]");
session_regester ("foo[1]");
$foo[0] = 1;
?>

とした場合、$foo[0]はsession変数として
機能します。ブラウザ移動後に $foo[0]
の値を取得するために、 $i=0; $foo[$i];
としても、当然正常に機能します。

これはそもそも、はじめの

for ($i = 0;$i  < 2;$i++) {
 session_register ("foo[$i]");  
}

が間違っているのであろう、ということまでは
わかったのですが、その解決法として、
session_register( ) 内で配列変数を for 文
などで効率的に扱う方法がわかりません。

的外れな質問かもしれませんが、どなたか
ご存知の方がいらっしゃいましたら、ご教授
ください。
よろしくお願いいたします。