预定义变量又叫超全局变量

综述:

1:预定义变量又叫超全局变量,包括:

$_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS,  $_COOKIE, $_SESSION, ..........(大约10个)

2:作用域问题

php中,自定义的变量的作用域,分两种:全局作用域(函数外),局部作用域(函数内)。

但:

预定义变量的作用域称为“超全局作用域”:全局作用域 局部作用域的总和(函数内外全都可用)

3:数据类型问题:

超全局变量都是数组!


$_get变量

形式一:

其作用是:用户填写表单数据,并提交后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php) 

形式二:

 

其作用是:用户点击链接后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php),这种请求也是get请求


形式三:

其作用是:当该行语句执行的时候(通常其实是在函数中),会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php),这种请求也是get请求


形式四:

其作用是:当该行语句执行的时候(通常其实是在函数中),会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php),这种请求也是get请求.

var_dump($_GET);//var_dump()用于输出 一个变量的“最完整信息”(包括变量名,变量数据值,变量长度)


$_POST数组

形式一:

其作用是:用户填写表单数据,并提交后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php) 



(在abc.php网页中)

$v1 = $_POST[‘uName’]; //单引号也可以用双引号,本质是一个字符串,其实是数组的键名(下标)

$v2 = $_POST[‘uPswd’]; //该键名必须跟提交的时候的名字完全一致(区分大小写)

 

也可以显示所有post数据:

var_dump($_POST)

?>

$_REQUEST变量

$_REQUEST数组,其实并不是一个独立的数据来源,而是$_POST数据和$_GET数据的“总和”

$_REQUEST数组中包括了所有$_POST数据和$_GET数据——其实是由系统内部自动存储的。

通常,$_POST数据和$_GET数据不会“同时出现”,$_REQUEST数组就代表了其中之一。


$_SERVER变量(数组)

该变量存储了服务器端或客户端的一些请求信息或设置信息,比较多,而且不同的服务器和不同的请求页面,其数据项都可能不同。



· 常用的有:

REMOTE_ADDR, 用户的IP地址

SERVER_ADDR:  服务器端的IP地址

o SERVER_NAME:  服务器名(主机名)

DOCUMENT_ROOT:  站点绝对路径(其实就是主机设置中的DocumentRoot

PHP_SELF当前网页的文件路径

o QUERY_STRING: 表示一个get请求的整体字符串,类似这样:

§ http://www.abc.com/abc.php?a=5&b=10连接地址中的“a=5&b=10” 


· 输出所有项(可能每台服务器有所差异)

 

 

$GLOBALS变量(数组)

似乎是一个多余的变量:它只是把我们自己定义的所有全局变量存储到该数组中:

变量名就是该数组的下标(键名),变量值就是对应的值。


你可能感兴趣的:(php)