php中的全局变量范围

时间:2013-11-27 13:42:13

标签: php variables scope global

我从php.net不明白这句话: 注意: 在函数外使用全局关键字不是错误。如果文件包含在函数内部,则可以使用它。

这是什么意思?有人可以简单地证明吗

2 个答案:

答案 0 :(得分:0)

全局变量:

与局部变量相比,可以在程序的任何部分访问全局变量。但是,为了进行修改,必须将全局变量显式声明为要修改它的函数中的全局变量。通过将关键字GLOBAL放在应该被识别为全局的变量之前,可以很方便地完成此操作。将此关键字放在已存在的变量前面会告诉PHP使用具有该名称的变量。

示例

$somevar = 15;

function addit(){
   GLOBAL $somevar;
   $somevar++;
   print "Somevar is $somevar";
}

addit();

<强>输出

Somevar是16

答案 1 :(得分:0)

“如果文件包含在函数内部,则可以使用它”意味着它甚至可以像这样工作:

page.php文件

<?php
  global $d;
  $d = "HI";
?>

的index.php

<?php
  getpage();

  function getpage(){
     include 'page.php';
     echo $d;
  }
?>