Heim >Backend-Entwicklung >PHP-Tutorial >Einführung in superglobale PHP-Variablen

Einführung in superglobale PHP-Variablen

不言
不言Original
2018-07-05 14:06:551621Durchsuche

Superglobale Variablen, die in PHP 4.1.0 eingeführt wurden, sind integrierte Variablen, die immer in allen Bereichen verfügbar sind.

Superglobale Variablen – Superglobale Variablen sind integrierte Variablen, die immer in allen Bereichen verfügbar sind.

Viele der vordefinierten Variablen in PHP sind „superglobal“, was bedeutet, dass sie im gesamten Umfang eines Skripts verfügbar sind. Auf sie kann innerhalb einer Funktion oder Methode zugegriffen werden, ohne dass global $variable;

Diese superglobalen Variablen sind:

$GLOBALS — Verweist auf alle im globalen Bereich verfügbaren Variablen.

Ein globales Kombinationsarray , das alle Variablen enthält. Der Name der Variablen ist der Schlüssel des Arrays.

<?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 wird zum Definieren globaler Variablen verwendet, aber Diese globale Variable gilt nicht für die gesamte Website, sondern für die aktuelle Seite, einschließlich aller Dateien in include oder require. Allerdings können innerhalb des Funktionskörpers definierte globale Variablen innerhalb des Funktionskörpers verwendet werden, während globale Variablen, die außerhalb des Funktionskörpers definiert sind, nicht innerhalb des Funktionskörpers verwendet werden können. Einzelheiten finden Sie im folgenden Beispiel.

(1) Definieren Sie globale Variablen im Funktionskörper, die innerhalb des Funktionskörpers verwendet werden können.

<?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) Definieren Sie globale Variablen außerhalb des Funktionskörpers und können Sie sie nicht innerhalb des Funktionskörpers verwenden.

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

$_SERVER -- $HTTP_SERVER_VARS [Gelöscht] — Server- und Ausführungsumgebungsinformationen

ist eine Datei, die Informationen wie Header, Pfad und Skriptspeicherorte usw. enthält. Die Elemente in diesem Array werden vom Webserver erstellt. Es gibt keine Garantie dafür, dass jeder Server alle Artikel anbietet; Server ignorieren möglicherweise einige oder servieren Artikel, die hier nicht aufgeführt sind.

Die folgende Tabelle listet die wichtigsten Elemente auf, auf die Sie in $_SERVER zugreifen können:

元素/代码 描述
$_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中的常见魔术方法功能作用及用法

Das obige ist der detaillierte Inhalt vonEinführung in superglobale PHP-Variablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn