PHP全局变量

Ada*_*ick 2 php

为什么以下结果会出现错误消息?(顺便说一句,它在PHP中的函数内声明; $ a和$ b是字母值,而不是数字)

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

Parse error: syntax error, unexpected '[', expecting ',' or ';' in ...
Run Code Online (Sandbox Code Playgroud)

GWW*_*GWW 6

global $pre, $predis;
Run Code Online (Sandbox Code Playgroud)

然后使用$pre$predis你想要的方式.


Tom*_*zyk 6

你不能使数组索引全局.在这种情况下,只有$pre并且$predis可能是全局的,您可以根据需要使用其内容:

global $pre, $predis;
Run Code Online (Sandbox Code Playgroud)


shm*_*eps 6

我可能弄错了,但我相信你不能有选择地使用键作为全局变量.你必须这样做

global $pre, $predis;
Run Code Online (Sandbox Code Playgroud)

然后使用键.

问题在于,虽然变量$pre$predis具有唯一标识符,但密钥仅在参考其变量时被识别,例如$var1['key'] != $var2['key'].在使标识符成为全局标识符时,无法将该特定键分配给标识符,至少在一个步骤中.但是,您可以使用中间变量,例如

$prekey = $pre['key'];
global $prekey;
Run Code Online (Sandbox Code Playgroud)