[PHP-users 24587] Re: globalで配列の宣言について
Keiko Morikawa
cob_morikawa @ ipc.pioneer.co.jp
2005年 2月 18日 (金) 16:02:57 JST
もりかわです。
まず最初にお礼を。
伊東様、恵様、廣瀬様、色々とありがとうございます。
ヒントをモトに作成していたのですが、あまりうまくいかず、下記の通りにしました。
global ${'hoge_'.$aaa};
global ${'tako_'.$aaa}; ...
とphp側の先頭に宣言し、html画面側で確認OKでした。
伊藤様が教えて下さった通り、
$gval_name = 'hoge_0'; //グローバル変数名
global $$gval_name;
と、このまま書いてみたのですが、どうしてもhtml画面側に値が渡りませんでした。
特にエラーは出ませんでした。
その後、恵様が「配列のまま受け渡しすれば...」と言って下さった為、上記の通りに書いてみました。
そうしたら、textareaとcheckboxの値がちゃんと渡ってました。
本当にありがとうございました。
で、廣瀬様の ↓ ですが、
> $GLOBALS["hoge_".$aaa][$bbb]
>
> じゃダメですか?
>
> http://www.php.net/manual/ja/language.variables.scope.php
>
> # globalで配列の宣言ってのからは外れてますが・・・
いえいえ、ダメではないです。
コチラも考えてはおりました。
が、スーパーグローバルはあまり使わない方がいいとコチラのMLにも書いてありましたので、
# っていったら、globalもですよね(-_-;)
# 支離滅裂だなぁ。
基本的に、globalや$GLOBALSは使わない方がいいのでしょうか?
もしよろしければ、皆様どうされているのか教えて頂けますでしょうか。
PHP-users メーリングリストの案内