【问题标题】:PHP global keyword syntax error [duplicate]PHP全局关键字语法错误[重复]
【发布时间】:2016-03-27 05:58:54
【问题描述】:
1.  $d = unserialize(base64_decode($params['customfields']));
2.  global $username = $d['Username'];
3.  global $password = $d['Password'];

我收到一个错误:

解析错误:语法错误,意外 '=',期待 ',' 或 ';'在 第 2 行

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

【问题讨论】:

    标签: php


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

          通常,您会在函数中使用 global 来引用在函数之外声明的变量。例如

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

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

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

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

          【讨论】:

            【解决方案5】:

            将变量声明为全局变量

            global $username;
            global $password;
            

            然后给它赋值

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

            【讨论】:

            • 非常感谢!7分钟后接受
            • @BlurryScript 很高兴为您提供帮助。请接受:-)
            • 即使这样是正确的,我也不推荐使用全局变量。在大型应用程序中可能很危险..
            • @MateiMihai 使用它有什么风险?请说清楚?此外,如果您不介意在 oyur 个人资料查看页面 about me 部分看起来不错。但前两行不包含在代码视图中。我的意思是class Person { protected $nam...
            • @MateiMihai 感谢更新我 :-) 个人资料似乎也不错 :-)
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-04-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-08-14
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多