Maison  >  Article  >  développement back-end  >  Introduction aux variables superglobales PHP

Introduction aux variables superglobales PHP

不言
不言original
2018-07-05 14:06:551559parcourir

Les variables superglobales, introduites dans PHP 4.1.0, sont des variables intégrées qui sont toujours disponibles dans toutes les portées.

Variables superglobales — Les variables superglobales sont des variables intégrées qui sont toujours disponibles dans toutes les étendues.

La plupart des variables prédéfinies en PHP sont "superglobales", ce qui signifie qu'elles sont disponibles dans toute la portée d'un script. Ils sont accessibles dans une fonction ou une méthode sans exécuter global $variable;

Ces variables superglobales sont :

$GLOBALS — Fait référence à toutes les variables disponibles dans la portée globale

Un tableau de combinaison globale qui contient toutes les variables. Le nom de la variable est la clé du tableau.

<?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.;

Le rôle du mondial est pour définir des variables globales, mais cette variable globale ne s'applique pas à l'ensemble du site Web, mais à la page actuelle, y compris tous les fichiers inclus ou requis. Cependant, les variables globales définies dans le corps de la fonction peuvent être utilisées dans le corps de la fonction, tandis que les variables globales définies en dehors du corps de la fonction ne peuvent pas être utilisées dans le corps de la fonction. Voir l'exemple ci-dessous pour plus de détails.

(1) Définissez des variables globales dans le corps de la fonction, qui peuvent être utilisées dans le corps de la fonction.

<?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) Les variables globales sont définies en dehors du corps de la fonction et ne peuvent pas être utilisées à l'intérieur du corps de la fonction.

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

$_SERVER -- $HTTP_SERVER_VARS [déjà Supprimer] — Informations sur le serveur et l'environnement d'exécution

est un fichier contenant des informations telles que l'en-tête, le chemin et l'emplacement du script) et d'autres informations. Les éléments de ce tableau sont créés par le serveur Web. Il n'y a aucune garantie que chaque serveur proposera tous les éléments ; les serveurs peuvent en ignorer certains ou servir des éléments non répertoriés ici.

Le tableau suivant répertorie les éléments les plus importants auxquels vous pouvez accéder dans $_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中的常见魔术方法功能作用及用法

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn