2011-06-21 62 views
2

为什么会出现以下错误信息? (它是由PHP方式的函数内声明; $ a和$ b是字母值,而不是数字)PHP全局变量

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

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

仅供参考,不做'$预[ '' 美元 '']',只是'$预[$一]'。 –

+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']。至少在一个步骤中,无法将该特定键分配给标识符,同时使其成为全局标识符。但是,您可以使用一个中间变量,比如

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