これ何て呼びますか

関数内で生成した配列$listを、GETで渡す方法ってあるでしょうか。
只の変数$hogeなら例えば
$hoge = 'AAA';
●●.php?$mode=sort&hoge2=$hoge でリンクし
if($mode=="sort") 内で、$hoge2として扱えますが
配列$hoge[0]~$list[20]とかを渡すときはどうすればいいでしょうか。
メモリーが心配なので、できれば参照で渡したり、グローバル化して受け取るなどの方法を使いたいです。よろしくお願いします。

A 回答 (2件)

比較的大きなデータであれば、


・POSTで渡す
・セッションを利用してサーバ側に保存しておく
・キーだけGETで●●.phpに渡して、●●.phpで再度CSVからデータを取得する
などの方法があります。参考まで。
    • good
    • 0
この回答へのお礼

なるほど、再度CSVからデータを取得する方法が無難かもしれないです。取得に必要なキーだけPOSTで渡してもいいということですね。ありがとうございました。

お礼日時:2006/11/04 12:44

●●.php?$mode=sort&list[0]=a&list[1]=b&list[2]=c&...


としてやれば、よいのではないでしょうか。
(通常、"["や"]"はURLエンコードした方がよいですが)。

●●.phpでは、
$list = $_GET['list']; // register_globals=on なら不要
echo $list[0]; // aが出力される。
echo $list[1]; // bが出力される。
・・・
となると思います。

> メモリーが心配なので、できれば参照で渡したり、グローバル化して受け取るなどの方法を使いたいです。よろしくお願いします。

返答が難しいのですが「できない」と思ったほうがよいと思います。
ユーザ単位の情報はsession(ファイル等)に、複数ユーザで共有する情報はファイル/DB/共有メモリなどに保存することが出来ますが、結局のところサーバ側のメモリを節約する目的にはかないません。

この回答への補足

ご連絡ありがとうございます。
●●.php?$mode=sort&list[0]=a&list[1]=b&list[2]=c&...
も考えましたが、$listはCSVファイルから読み取った値を
保持しているので結構大きく、項目も多いのでgetで
渡すには考え物です。
結構難しそうですね。

補足日時:2006/10/27 23:11
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報