在PHP中设置/获取全局变量的问题

时间:2018-06-17 13:36:31

标签: php

为什么我无法获得$somevar

上的getVar()

使用print "Somevar is ". GLOBAL $somevar;

时出现此错误
  

行:10 - 语法错误,意外' GLOBAL' (T_GLOBAL)

  

E_NOTICE:类型8 - 未定义变量:somevar - 第10行

使用witout GLOBAL print "Somevar is ". $somevar;

<?php
   $somevar;

   function setVar() {
      GLOBAL $somevar;
      $somevar++;
   }

   function getVar() {
      print "Somevar is ".  GLOBAL $somevar;
   }
   setVar();
   getVar();
?>

1 个答案:

答案 0 :(得分:0)

根据您向我们展示的内容,我发现您的代码存在一些问题:

  1. 您尚未为$ somevar
  2. 分配任何值
  3. 您错过了GLOBALS关键字开头的$符号(并且您最后错过了一封S字母)
  4. $ GLOBALS是一个超全局变量,它实际上是一个数组 - 所以要访问$ somewar值,你必须键入类似这样的$ GLOBALS [&#39; somevar&#39;]
  5. 我将为您提供如何使用全局变量的示例

    $name = 'John';
    
    function getGlobalVarName() {
     return $GLOBALS['name'];
    }
    
    echo getGlobalVarName();
    

    在此处阅读有关变量范围(全局变量)的更多信息:Variable Scope in PHP