PHP 全局关键字语法错误


1.  $d = unserialize(base64_decode($params['customfields']));
2.  global $username = $d['Username'];
3.  global $password = $d['Password'];

我收到一个错误:

解析错误:语法错误、意外的"="、预期在 第 2 行

我的代码有什么问题? PHP 版本是最新的

将变量声明为全局变量

global $username;
global $password;

然后为其分配值

$username = $d['Username'];
$password = $d['Password'];
不,

它不能像那样工作,您必须将其设置为全局变量而不是使用它。

global $username;
$username = $d['Username'];

global关键字用于将变量声明为global。不能将其与赋值运算符一起使用。您可以改用$GLOBALS

global $username,$password;
$username = $d['Username'];
$password = $d['Password'];

$GLOBALS['username']= $d['Username'];
$GLOBALS['password']= $d['password'];

两者都是合适的方法,这取决于你选择什么方法。

通常,您将在函数中使用全局来引用与函数一起声明的变量。

例如
$username='fred';
function blah(){
    global $username;
    echo $username;
}

也许您尝试实现的目标应该使用 $GLOBALS 数组来完成,例如:

$GLOBALS['username']=$d['username'];

然后,正如您所期望的那样,几乎可以在任何地方引用它,例如:echo $GLOBALS['username']

在将全局变量声明为全局变量后,应在下一行中为全局变量赋值。

$d = unserialize(base64_decode($params['customfields']));
global $username;
$username = $d['Username'];
global $password;
$password = $d['Password'];

最新更新