PHP超全局变量的介绍

不言
发布: 2023-04-02 14:16:01
原创
1612 人浏览过

超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。

超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量。

PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

这些超全局变量是:

$GLOBALS — 引用全局作用域中可用的全部变量

一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

<?php

function test(){
    $foo = "local variable";
    echo &#39;$foo in global scope:&#39;.$GLOBALS[&#39;foo&#39;].&#39;<br />&#39;;//$foo in global scope:Example content
    echo &#39;$foo in current scope:&#39;.$foo.&#39;<br />&#39;;//$foo in current scope:local variable
    $GLOBALS[&#39;foo&#39;] = &#39;1111&#39;;
    echo &#39;$foo in global scope:&#39;.$GLOBALS[&#39;foo&#39;].&#39;<br />&#39;;//$foo in global scope:1111}
$foo = "Example content";
test();
echo $foo.&#39;<br />&#39;;//1111
登录后复制

<?= = ] = $GLOBALS[] + $GLOBALS[];.$b.;
登录后复制

global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。但是在函数体内定义的global变量,函数体内可以使用,在函数体外定义的global变量不能在函数体内使用,具体看下面示例。

(1)在函数体内定义global变量,函数体内可以使用。

<?php

$a = 1;
$b = 2;
function sum(){    global $a,$b;//在函数内声明为全局变量
    $b = $a + $b;
}
sum();
echo $a.&#39;---&#39;.$b.&#39;<br />&#39;;//1---3
登录后复制

(2)在函数体外定义global变量,函数体内不可以使用。

$a = 1;global $a;//在函数体外把$a定义为global变量function aa(){
    echo $a;
}
aa();//会报错,不能输出变量
登录后复制

$_SERVER -- $HTTP_SERVER_VARS [已删除] — 服务器和执行环境信息

是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。

下表列出了您能够在 $_SERVER 中访问的最重要的元素:

元素/代码描述
$_SERVER['PHP_SELF']返回当前执行脚本的文件名。
$_SERVER['GATEWAY_INTERFACE']返回服务器使用的 CGI 规范的版本。
$_SERVER['SERVER_ADDR']返回当前运行脚本所在的服务器的 IP 地址。
$_SERVER['SERVER_NAME']返回当前运行脚本所在的服务器的主机名。
$_SERVER['SERVER_SOFTWARE']返回服务器标识字符串(比如 Apache/2.2.24)。
$_SERVER['SERVER_PROTOCOL']返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
$_SERVER['REQUEST_METHOD']返回访问页面使用的请求方法(例如 POST)。
$_SERVER['REQUEST_TIME']返回请求开始时的时间戳(例如 1577687494)。
$_SERVER['QUERY_STRING']返回查询字符串,如果是通过查询字符串访问此页面。
$_SERVER['HTTP_ACCEPT']返回来自当前请求的请求头。
$_SERVER['HTTP_ACCEPT_CHARSET']返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)
$_SERVER['HTTP_HOST']返回来自当前请求的 Host 头。
$_SERVER['HTTP_REFERER']返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。
$_SERVER['HTTPS']是否通过安全 HTTP 协议查询脚本。
$_SERVER['REMOTE_ADDR']返回浏览当前页面的用户的 IP 地址。
$_SERVER['REMOTE_HOST']返回浏览当前页面的用户的主机名。
$_SERVER['REMOTE_PORT']返回用户机器上连接到 Web 服务器所使用的端口号。
$_SERVER['SCRIPT_FILENAME']返回当前执行脚本的绝对路径。
$_SERVER['SERVER_ADMIN']该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
$_SERVER['SERVER_PORT']Web 服务器使用的端口。默认值为 “80”。
$_SERVER['SERVER_SIGNATURE']返回服务器版本和虚拟主机名。
$_SERVER['PATH_TRANSLATED']当前脚本所在文件系统(非文档根目录)的基本路径。
$_SERVER['SCRIPT_NAME']返回当前脚本的路径。
$_SERVER['SCRIPT_URI']返回当前页面的 URI。

<?php

echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($_SERVER);
登录后复制

$_GET -- $HTTP_GET_VARS [已弃用] — HTTP GET 变量

通过 URL 参数传递给当前脚本的变量的数组。

$_POST -- $HTTP_POST_VARS [已弃用] — HTTP POST 变量

当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本。

$_FILES -- $HTTP_POST_FILES [已弃用] — HTTP 文件上传变量

通过 HTTP POST 方式上传到当前脚本的项目的数组。

$_COOKIE -- $HTTP_COOKIE_VARS [已弃用] — HTTP Cookies

通过 HTTP Cookies 方式传递给当前脚本的变量的数组。

$_SESSION -- $HTTP_SESSION_VARS [已弃用] — Session 变量

当前脚本可用 SESSION 变量的数组

$_REQUEST — HTTP Request 变量

$_ENV -- $HTTP_ENV_VARS [已弃用] — 环境变量

通过环境方式传递给当前脚本的变量的数组。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

php中imagettfbbox和imagettftext 文字图片自动换行的方法

PHP中的常见魔术方法功能作用及用法

以上是PHP超全局变量的介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板