超级全局变量有9个
特点是全局可用!
页面到处都能访问到这个变量
$_GET获得的是浏览器地址栏过来的数据,或者表单GET方式提交的数据
$_POST获得的是表单POST方式提交的数据
$_REQUEST默认情况(具体情况要看php.ini的配置)获得的是既包含POST过来的值,也包含GET方式获得的值
如下例子:2222.html上有个表单,提交给2222.php这个文件
实验GET_POST的区别1 <?php2 header("Content-type:text/html;charset=UTF-8");3 echo ‘
‘;4
5 //2222.php 接收数据并显示出来
6 print_r($_GET);7 print_r($_POST);8 print_r($_REQUEST);9
10 echo ‘
‘;11 ?>
最终的结果,可以看到,$_REQUEST这个数组是$_GET和$_POST合并起来的
如果让get和post中有重名的呢?
修改2222.html中
这句,改为再提交会发生什么呢?
如下,找到php配置文件,搜索 request_order
修改为PG,保存,重启apache,实验一下,就相反了,不细说。
$_ENV
打印一下$_ENV,print_r($_ENV); 看看出来的是什么?
发现,没有反应!空白。原来,考虑到信息安全问题,php的配置文件php.ini中,variables_order控制着$_ENV的显示
$_ENV里面是操作系统呀什么的这些信息
$_SERVER 打印出来如下:
Array
(
[HTTP_HOST]=>localhost
[HTTP_USER_AGENT]=> Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0[HTTP_ACCEPT]=> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8[HTTP_ACCEPT_LANGUAGE]=> zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2[HTTP_ACCEPT_ENCODING]=>gzip, deflate
[HTTP_CONNECTION]=> keep-alive
[HTTP_UPGRADE_INSECURE_REQUESTS]=> 1[HTTP_CACHE_CONTROL]=> max-age=0[PATH]=> C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;
[SystemRoot]=> C:\Windows
[COMSPEC]=> C:\Windows\system32\cmd.exe
[PATHEXT]=>.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
[WINDIR]=> C:\Windows
[SERVER_SIGNATURE]=>[SERVER_SOFTWARE]=> Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45[SERVER_NAME]=>localhost
[SERVER_ADDR]=> ::1[SERVER_PORT]=> 80[REMOTE_ADDR]=> ::1[DOCUMENT_ROOT]=> E:/xxxx
[REQUEST_SCHEME]=>http
[CONTEXT_PREFIX]=>[CONTEXT_DOCUMENT_ROOT]=> E:/xxxx
[SERVER_ADMIN]=>admin@phpStudy.net
[SCRIPT_FILENAME]=> E:/xxxx/2222.php
[REMOTE_PORT]=> 2479[GATEWAY_INTERFACE]=> CGI/1.1[SERVER_PROTOCOL]=> HTTP/1.1[REQUEST_METHOD]=> GET[QUERY_STRING]=>[REQUEST_URI]=> /2222.php
[SCRIPT_NAME]=> /2222.php
[PHP_SELF]=> /2222.php
[REQUEST_TIME_FLOAT]=> 1556588895.594[REQUEST_TIME]=> 1556588895)
$GLOBALS — 引用全局作用域中可用的全部变量
它就是个快捷方式集合,把在全局作用域中的全部变量(除了$_ENV)都放在里面了。
$aaa = 123456;print_r($GLOBALS);