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

PHP中设置/获取全局变量的问题,php,Php,为什么我无法在getVar() 我在使用print“Somevar is”时遇到此错误。全球$somevar <?php $somevar; function setVar() { GLOBAL $somevar; $somevar++; } function getVar() { print "Somevar is ". GLOBAL $somevar; } setVar(); getVar(); ?&g

为什么我无法在
getVar()

我在使用
print“Somevar is”时遇到此错误。全球$somevar

<?php
   $somevar;

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

   function getVar() {
      print "Somevar is ".  GLOBAL $somevar;
   }
   setVar();
   getVar();
?>
第10行——语法错误,意外的“全局”(T_GLOBAL)

注意:类型8——未定义变量:somevar——在第10行

使用witout GLOBAL
时,打印“Somevar is”$萨梅瓦尔

<?php
   $somevar;

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

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

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

  • 您尚未为$somevar分配任何值
  • 您在GLOBALS关键字的开头漏掉了一个$符号(并且在结尾漏掉了一个S字母)
  • $GLOBALS是一个超全局变量,它实际上是一个数组-因此,要访问$somewar值,您必须键入类似这样的$GLOBALS['somevar']
  • 我将为您提供一个如何使用全局变量的示例

    $name = 'John';
    
    function getGlobalVarName() {
     return $GLOBALS['name'];
    }
    
    echo getGlobalVarName();
    
    在此处阅读有关变量范围(全局变量)的更多信息: