2010-12-06 13 views
1

グローバル変数を無効にしたサーバでスクリプトを実行するように変更する必要があります。グローバル変数とPHPの配列との違い

これが動作しない場合ので、私は疑問に思って:

function setData(){ 
    echo $GLOBALS['data']; 
} 

は、この作品はウィル?

function setData(){ 
    global $data; 
    echo $data; 
} 

いいえ、解決策は何ですか。

+2

'$ _GLOBAL'はありませんが、' $ GLOBALS'はありません。変わりはない。両方とも動くだろう。これらのいずれかを無効にすることはできません。 –

+0

"グローバル変数が無効になっています"と言うとき、 "register_globals"を意味しますか? – grahamparks

+0

そうですね。 –

答えて

4

あなたはregister_globalsについて話していますか?これはすべてのグローバルを無効にするわけではなく、要求パラメータからグローバル変数の設定を無効にするだけです。誰かがこのようなページに行けばそれが何を意味するのか

は、次のとおりです。index.php?admin=1は、その後index.phpにグローバル変数$admin1に設定されます。あなたは一般に欲しくないものです。グローバル変数の動作を停止するわけではありません。

Shrapnelがコメントで述べたように、$_GLOBALSは、配列の名前が$GLOBALSであるため、機能しません。

0

あなたは簡単に試してみるといいでしょう。質問に答えてください:私はかなり確信しています。global $data;はとにかく動作するはずです - これを無効にする可能性はわかりませんが、 $_GLOBALアレイを無効にするには(私はこれについては分かりませんが、あなたの質問を忘れていない場合は、そのような可能性を使用しているか、またはSkilldrickが言ったように全く別のものを意味しています)

+0

それは、私のサーバーで$ _GLOBALを使用することができないと私はちょうどなぜ思っていたのですか? –

+0

@Omeid投稿の最初のコメントを読まなかったのですか? '$ GLOBALS'だけの' $ _GLOBAL'はありません。 – Skilldrick

+0

@Skilldrick、あなたは$ _GLOBALSではなく$ _GLOBALSのコードをチェックしましたか?私はちょっと急いでいるので、私はいつもSが恋しいよ;) –

関連する問題