欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP超全局变量

程序员文章站 2024-01-21 22:37:04
...

1.超全局变量的由来

    因为在PHP的运行当中,经常需要一些变量去存储运行环境的一些参数,以及设置,这些变量称为预定义变量。

    而从 PHP 4.1.0 开始,PHP 提供了一套附加的预定数组,这些数组变量包含了来自 web 服务器(如果可用),运行环境,和用户输入的数据。这些数组非常特别,它们在全局范围内自动生效,例如,在任何范围内自动生效。因此通常被称为自动全局变量(autoglobals)或者超全局变量(superglobals)。

   

2.超全局数组

    定义:其实超全局变量就是在PHP环境中的任何范围都有效的预定义变量。

    这些超全局变量分别是:

  • $GLOBALS :该变量的作用是把局部变量注册成全局变量。(被注册的变量名称就是该数组的键名),以下面代码为例,我们可以理解为$GLOBALS["foo"]是变量$foo的一个"全局引用"。
<?php
function  test () {
     $foo  =  "local variable" ;

    echo  '$foo in global scope: '  .  $GLOBALS [ "foo" ] .  "\n" ;
    echo  '$foo in current scope: '  .  $foo  .  "\n" ;
}

$foo  =  "Example content" ;
test ();

//最终会输出
//$foo in global scope: Example content
//$foo in current scope: local variable
?>

     

  • $_SERVER:$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
    <?php 
        //输出当前浏览器的一些信息
        echo  $_SERVER [ 'HTTP_USER_AGENT' ]; 
    ?>

     

  • $_GET:获取由HTTP GET方法提交的参数
  • $_POST:获取由HTTP POST方法提交的参数
  • $_FILES:获取由由HTTP POST方法提交上传的文件参数
  • $_COOKIE:获取cookie数据
  • $_SESSION:获取session数据
  • $_REQUEST: 默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组
  • $_ENV:存储着环境变量的数组

 

3.其他一些预定义变量

    $argc — 传递给脚本的参数数目:

//script.php
<?php
    var_dump ( $argc );
?>

//当使用这个php命令执行上面的脚本: php script.php arg1 arg2 arg3时 ,上面这个
//脚本就会输出4,(script.php也是一个参数)

  $argv — 获取传递给脚本的参数数组(也就是获取脚本输入的参数值)

 

    

相关标签: PHP