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'];