Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die globalen Arrays in PHP?

Was sind die globalen Arrays in PHP?

青灯夜游
青灯夜游Original
2022-05-17 15:42:302406Durchsuche

Es gibt 9 globale Arrays in PHP: 1. „$GLOBALS“ ist ein Array, das aus allen definierten globalen Variablen besteht. 2. „$_SERVER“ ist ein Array, das Header-Informationen, Pfade und Skriptspeicherorte enthält. , ein Array bestehend aus Sitzungsdaten; 4. „$_GET“ 5. „$_ENV“ usw.

Was sind die globalen Arrays in PHP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer

php globales Array

php globales Array Der vollständige Name lautet „Superglobal Array“ oder „Superglobal Variable“. , Das heißt, die speziell definierten Array-Variablen in PHP werden als superglobale Arrays bezeichnet, da auf diese Arrays überall im Skript und in jedem Bereich, z. B. Funktionen, Klassen, Dateien usw., zugegriffen werden kann.

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

Das superglobale Array in PHP umfasst die folgenden 9:

  • $GLOBALS: Enthält einen Verweis auf jede Variable, die im globalen Variablenbereich des aktuellen Skripts gültig ist. Die Schlüsselnamen dieses Arrays sind die Namen globaler Variablen.

  • $_SERVER: Serverbezogene Informationen anzeigen oder abrufen;

  • $_GET: Diese Methode muss $_GET sein: Über das Formular Die gesendeten Daten müssen im POST-Modus erfolgen.

  • $_REQUEST: Enthält die beiden oben genannten Datenübertragungsmethoden (POST und GET).

  • $_COOKIE: Verarbeitet die Sitzungsdaten des Clients Die Server -Session -Daten; ?? Charaktere, wie kann man es lösen? URL-Code und URL-Decode.


<meta>


//注意:信息如何传递!!!
<a>数据</a>


<meta>


<?php echo "<pre class="brush:php;toolbar:false">";
 	echo print_r($_GET);
	echo "
"; echo $_GET['name']; ?>
  • Verwendung 2: Der Browser sendet Informationen über ein Formular an den Server (am besten verwenden Sie $_POST)

  • 
    <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']); ?>
  • Register_globals deaktivieren: set register_globals=off;

  • Register_globals aktivieren Wenn Sie auf den folgenden Code zugreifen: //localhost:88/1.php?a=10&b=20, erhalten Sie 10 20;
  • 
    <meta>
    
    
    
    输入内容:
  • $_POST

  • Die über die Post-Methode übermittelten Daten werden in das superglobale Array $_POST eingekapselt.

    Verwendung 1: Der Browser überträgt Informationen über das Formular an den Server (einige Daten müssen die Post-Methode verwenden)

    
    <meta>
    
    
    
    
    
    
    <meta>
    
    
    
    
    

    Der Unterschied zwischen der POST-Methode und der GET-MethodeDie POST-Methode bietet eine gute Sicherheit

    Größe der Datenübertragung (POST-Methode groß)
    • In Favoriten speichern (GET-Methode)
      Was sind die globalen Arrays in PHP?
      $_REQUEST
      $_REQUEST ist ein Array mit $_POST, $_GET und $_COOKIE. Die Array-Struktur ist die gleiche wie bei $ _POST und $_GET ähnlich.
    • Das heißt, unabhängig davon, ob die Daten mit POST oder GET übermittelt werden, können Sie $_REQUEST verwenden, um sie abzurufen, und Sie können sogar $_REQUEST verwenden, um COOKIE-Informationen abzurufen. Das Attribut „request_order“ wurde in PHP5.3 eingeführt. Wir können den in $_REQUEST enthaltenen Inhalt steuern, indem wir den Wert des Attributs „request_order“ in der Konfigurationsdatei php.ini ändern.
      Der Wert des Attributs request_order kann aus den drei englischen Großbuchstaben G, P und C bestehen, die jeweils für GET, POST und COOKIE stehen. Standardmäßig ist der Standardwert des request_order-Attributs request_order="GP", was bedeutet, dass $_REQUEST keine COOKIE-Informationen enthält. Wenn wir möchten, dass $_REQUEST COOKIE enthält, müssen wir es in request_order ändern = „GPC“.
    • Hinweis:
    • Verwenden Sie $_REQUEST nicht zu oft (da mehrere Nachrichten gemischt werden).
    
    <meta>
    
    
    
    用户名:
    密码:
    性别:
    籍贯:
    爱好:唱歌 跳舞 LOL
    个人简介:
    文件上传:
    
    <meta>
    
    
    "; 
    	//如何接收checkbox的所有数据(注意中括号[]):唱歌
    	echo print_r($_POST);
    	echo "
    "; $hobbies=$_POST['hobby']; foreach($hobbies as $key=>$val){ echo "
    ".$key." ".$val; } ?>

    Unterscheiden Sie zwischen GET und POST über $_SERVER['REQUEST_METHOD']

    
    <meta>
    
    
    超链接
    
    用户名:
    密码:

      $_SERVER
    • $_SERVER ist ein Array mit Informationen wie Header-Informationen, Pfad und Skriptspeicherort. Die Entitäten des Arrays werden vom Webserver erstellt und es gibt keine Garantie dafür, dass alle Server alle Informationen generieren können. Der Server ignoriert möglicherweise einige Informationen oder generiert andere neue Informationen. Wie andere superglobale Arrays handelt es sich hierbei um eine automatische globale Variable, die in allen Skripten verfügbar ist. Es ist nicht erforderlich, das Schlüsselwort global zu verwenden, um in Funktionen oder Objektmethoden darauf zuzugreifen.

    $_ENV

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

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

    $GLOBALS

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

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

    • 当定义一个全局变量,也会被$GLOBALS管理。
    
    <meta>
    
    
    ";
    	print_r($GLOBALS);
    	echo "
    "; ?>

    Was sind die globalen Arrays in 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视频教程

    Das obige ist der detaillierte Inhalt vonWas sind die globalen Arrays in PHP?. 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