人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPに関する質問です。
OS:Vine4.3
PHP:4.4.x

設定値など定数に配列を格納したいのですが、定数に配列は格納できません。
そこで、例えば$GLOBALSに配列を格納して上書きできない、または、上書きさせないといったことは可能でしょうか?
宜しくお願いします。

●質問者: masashi0316
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:OS PHP 配列
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● kn1967
●60ポイント

>$GLOBALSに配列を格納して上書きできない、または、上書きさせない

残念ながら無いと思いますよ。

自分(あるいは自分達)でプログラムを組む訳なので $GLOBALS['ほにゃほにゃ'] には書き込みしないという自分ルールを作ればそれで良いだけの事だと思います。

自分ルールを作って守るのだとしてもコーディングミスなどで書き換えてしまわないかという心配がある。ということであればグローバル変数ではなく『配列の添え字となる値を、引数とするような共有関数を造る』という手もあるでしょう。

定数として種類が少ない場合はcons1,cons2,・・・,cons20などと定義しておいてconstant("cons" . $x)などという使い方もあるでしょう。

他にも方法はあるかと思いますが、別の方面から考えるという助けになればと思い書き込みました。

◎質問者からの返答

やっぱりないのかなぁ。

複数人数で開発するときの危険回避と考えていて、constantはありだとおもいますが、確かに値が少ない場合に限りですねぇ。

投稿後色々考えて、

define("HOGE",'$HOGE=array('a'=>'1','b'=>'2',c=>'3');');

として使用直前でevalするのがいいのかなぁと考え始めました。

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ