2011-06-21 9 views
2

なぜ次のエラーメッセージが表示されるのですか? (方法によって、PHPの関数内で宣言されている; $ aと$ bは、数値のアルファベット値ではありません)あなたが望むどのようPHPグローバル変数

global $pre[''.$a.''], $predis[''.$b.'']; 

Parse error: syntax error, unexpected '[', expecting ',' or ';' in ... 
+3

のように、中間変数を使用することができます[ ''。$。 '']'、ちょうど '$ [$ A]'事前ありません。 –

+0

@Rocketはアルファベットで数値ではなくても(例: "abc"ではなく "123")? –

+4

正しいですが、数字でないキーでも '' ''は必要ありません。 – GWW

答えて

6
global $pre, $predis; 

が続い$pre$predisを使用しています。

6

アレイインデックスをグローバルにすることはできません。この場合、唯一の$pre$predisグローバルとすることができ、あなたが必要として、あなたはその内容を使用することができます。

global $pre, $predis; 
+0

+1はより徹底的な答えです。 –

6

私は誤解されるかもしれないが、私はあなたが選択的にグローバルとしてキーを使用することはできませんと信じています。あなたはする必要があります

global $pre, $predis; 

し、キーを使用します。

変数$pre$predisは一意の識別子を持っていますが、キーはその変数を参照して特定されています($var1['key'] != $var2['key']など)。少なくとも特定のキーを識別子に割り当てる方法はありませんが、少なくとも1つのステップでグローバルにします。ただし、 `$事前いたしません、ただ、FYI

$prekey = $pre['key']; 
global $prekey;