Maison  >  Article  >  développement back-end  >  Quels sont les tableaux globaux en php

Quels sont les tableaux globaux en php

青灯夜游
青灯夜游original
2022-05-17 15:42:302353parcourir

Il existe 9 tableaux globaux en PHP : 1. "$GLOBALS" est un tableau composé de toutes les variables globales définies ; 2. "$_SERVER" est un tableau contenant des informations d'en-tête, des chemins et des emplacements de script ; , un tableau composé de données de session ; 4. "$_GET" ; 5. "$_ENV", etc.

Quels sont les tableaux globaux en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3

php global array

php Le nom complet du tableau global php est "super global array" ou "super variable globale", qui est Les variables de tableau spécialement définies en PHP sont appelées tableaux superglobaux car ces tableaux sont accessibles n'importe où dans le script et dans n'importe quelle portée, comme des fonctions, des classes, des fichiers, etc.

Les variables de tableau superglobal sont des variables intégrées qui sont toujours disponibles dans toutes les étendues.

Le tableau superglobal en PHP comprend les 9 suivants :

  • $GLOBALS : contient une référence à chaque variable valide dans la portée de la variable globale du script actuel. Les noms de clés de ce tableau sont les noms de variables globales.

  • $_SERVER : Afficher ou obtenir des informations relatives au serveur ;

  • $_GET : Transmettre les données au serveur via la barre d'adresse. Cette méthode doit être $_GET ;

  • $_POST : Via le formulaire. Les données envoyées doivent être en mode POST ;

  • $_REQUEST : inclut les deux méthodes de transmission de données ci-dessus (POST et GET) ;

  • $_COOKIE : traite les données de session du client ; les données de fin de session du serveur

  • $_FILES : tableau nécessaire pour télécharger les fichiers ;

  • $_ENV : variables soumises au script par l'environnement d'exécution

$_GET

Principe

Utilisation 1 : Le navigateur transmet les informations au serveur via un lien hypertexte (la valeur par défaut est GET)
  • 
    <meta>
    
    
    //注意:信息如何传递!!!
    <a>数据</a>
    
    
    
    <meta>
    
    
    <?php echo "<pre class="brush:php;toolbar:false">";
     	echo print_r($_GET);
    	echo "
    "; echo $_GET['name']; ?>
    Quels sont les tableaux globaux en phpRemarque : IE5.5 et IE6 ont le problème des nombres impairs chinois et tronqués personnages, comment le résoudre ? urlencode et urldecode.
  • 
    <meta>
    
    
    <?php $city=urlencode("大西安");
    	echo "<a href=&#39;1.php?city={$city}&name=tan&#39;>数据";
    ?>
    
    
    
    <meta>
    
    
    <?php echo "<pre class="brush:php;toolbar:false">";
     	echo print_r($_GET);
    	echo "
    "; echo urldecode($_GET['city']); ?>
Utilisation 2 : Le navigateur envoie des informations au serveur via un formulaire (il est préférable d'utiliser $_POST)
  • 
    <meta>
    
    
    
    输入内容:
    
    <meta>
    
    
    
    
    
Désactivez register_globals : définissez register_globals=off;
  • Activez register_globals Si vous entrez http lorsque. accéder au code suivant : //localhost:88/1.php?a=10&b=20; obtiendra 10 20.

<meta>




  • $_POST

Les données soumises par courrier seront encapsulées dans le tableau super global $_POST. Utilisation 1 : Le navigateur transmet les informations au serveur via le formulaire (certaines données doivent utiliser la méthode post)


<meta>


用户名:
密码:
性别:
籍贯:
爱好:唱歌 跳舞 LOL
个人简介:
文件上传:

<meta>


"; 
	//如何接收checkbox的所有数据(注意中括号[]):唱歌
	echo print_r($_POST);
	echo "
"; $hobbies=$_POST['hobby']; foreach($hobbies as $key=>$val){ echo "
".$key." ".$val; } ?>
  • La différence entre la méthode POST et la méthode GET
La méthode POST a une bonne sécurité
  • Taille de transmission des données (Méthode POST Large)

    Enregistrer dans les favoris (méthode GET)
    • $_REQUEST

$_REQUEST est un tableau contenant $_POST, $_GET et $_COOKIE La structure du tableau est la même que $. _POST et $_GET similaires. C'est-à-dire que que les données soient soumises via POST ou GET, vous pouvez utiliser $_REQUEST pour les obtenir, et vous pouvez même utiliser $_REQUEST pour obtenir des informations COOKIE. L'attribut request_order a été introduit dans PHP5.3. Nous pouvons contrôler le contenu contenu dans $_REQUEST en modifiant la valeur de l'attribut request_order dans le fichier de configuration php.ini. La valeur de l'attribut request_order peut être les trois lettres anglaises majuscules G, P et C, qui représentent respectivement GET, POST et COOKIE. Par défaut, la valeur par défaut de l'attribut request_order est request_order="GP", qui n'inclut pas C, ce qui signifie que $_REQUEST ne contient pas d'informations COOKIE. Si nous voulons que $_REQUEST contienne COOKIE, nous devons le modifier en request_order. = "GPC".

Remarque :

N'utilisez pas $_REQUEST trop souvent (en raison du mélange de plusieurs messages).


<meta>


超链接
用户名:
密码:

<meta>




Différencier entre GET et POST via $_SERVER['REQUEST_METHOD']


<meta>




    $_SERVER

$_SERVER est un tableau contenant des informations telles que les informations d'en-tête, le chemin et l'emplacement du script. Les entités du tableau sont créées par le serveur Web et il n'y a aucune garantie que tous les serveurs puissent générer toutes les informations. Le serveur peut ignorer certaines informations ou générer d'autres nouvelles informations. Comme les autres tableaux superglobaux, il s'agit d'une variable globale automatique disponible dans tous les scripts. Il n'est pas nécessaire d'utiliser le mot-clé global pour y accéder dans les fonctions ou les méthodes objet.

$_ENV

获取服务器端的环境变量,通过修改php.ini的variables_order="EGPCS"启动。

$_ENV数组中的内容是在PHP解析器运行时,从PHP所在服务器中的环境变量转变为PHP全局变量的。它们中许多都是由PHP所运行的系统决定的,完整的列表是不可能的,需要查看PHP所在服务器的系统文档以确定其特定的环境变量。

$GLOBALS

$GLOBALS是由所有已定义的全局变量组成的数组,变量名就是该数组的索引。

  • 包含了全部变量的全局组合数组。

  • 当定义一个全局变量,也会被$GLOBALS管理。

<meta>


";
	print_r($GLOBALS);
	echo "
"; ?>

Quels sont les tableaux globaux en php

$_FILES

使用表单的file输入域上传文件时,必须使用post提交。但在服务器文件中,并不能通过$_POST超全局数组获取到表单中file域的内容。而$_FILES超全局变量是通过post方法传递的已上传文件项目组成的数组。$_FILES是一个二维数组,包含5个子数组元素,其中第一个下标是表单中file输入域的名称,第二个下标用于描述上传文件的属性。

$_COOKIE

$_COOKIE超全局数组是经由HTTP Cookies方法提交至脚本的变量。通常这些Cookies是由以前执行的PHP脚本通过setCookies()函数设置到客户端浏览器中的,当PHP脚本从客户浏览器提取了一个cookie后,它将自动把它转换成一个变量,可以通过这个$_COOKIE超全局数组和cookie的名称来存取指定的cookie值。

$_SESSION

会话控制是在服务器端使用session跟踪用户,当服务器页面中使用session_start()函数开启session后,就可以使用$_SESSION数组注册全局变量,用户就可以在整个网站中访问这些会员信息。

说明:$_COOKIE、$_SESSION、$_REQUEST的区别

在 PHP 中,cookie 就是服务器,它是留在客户端(浏览器)上的一个小的数据文件,通常用于标识用户信息,也称为浏览器缓存或 Cookies。

$_COOKIE[] 全局数组存储了通过 HTTP COOKIE 传递到脚本的信息,PHP 可通过 setcookie() 函数设置 COOKIE 的值,用 $_COOKIE[] 数组接收 COOKIE 的值,$_COOKIE[] 数组的索引为 COOKIE 的名称。

session 是一种客户与网站(服务器)更为安全的对话方式,一旦开启了 session 会话,便可以在网站的任何页面使用(保持)这个会话,从而让访问者与网站之间建立了一种“对话”机制。但是 session 不同于 cookie,必须先启动,才能生效。

$_SESSION[] 数组用于获取会话变量的相关信息。

$_REQUEST 支持 $_GET 和 $_POST 发送过来的请求,即 get 和 post 它都可以接受,浏览器地址栏中的数据显示不显示要看传递的方法,get 会显示在 url 中(有字符限制),post 不会显示在 url 中,可以传递任意多的数据(只要服务器支持)。

默认情况下,$_REQUEST[] 数组包含了 $_GET、$_POST 和 $_COOKIE 的数组。

推荐学习:《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