PHP预定义超全局数组变量小结

1.PHP 预定义的超全局变量数组

特性:

a.特殊的数组,操作方式没有区别

b.不用声明,php脚本中默认存在,因为在php中不用定义,所以在自定义变量是应避免和预定的全局变量同名

c.在全局范围内自动生效,即在函数中直接就可以使用,不用使用global关键字访问

2.超全局变量数组

a.$_SERVER 服务器变量

$_SERVER 是一个包含诸如头部信息,路径和脚本位置的数组

示例:

foreach($_SERVER as $key => $value){ echo '$_SERVER['+.$key+']='.$value.'<br>'; }

b.$_ENV 环境变量

$_ENV 数组中的内容是在PHP解析器运行时,从PHP所在服务器中环境变量转变为PHP全局变量

示例:

foreach($_ENV as $key => $value){ echo '$_ENV['+.$key+']'.$value.'<br>'; }

c.$_GET Url GET 变量

$_GET 数组也是超全局变量数组,通过Url Get 方法传递的变量组成数组,它属于外部变量,即在服务器页面中通过$_GET超全局数组Url 或表单GET方式传递过来的参数

示例:

?id=1&name=lin

echo 'Id='.$_GET['id'].'<br>'; echo 'Name='.$_GET['name'].'<br>';

或者:

print_r($_GET);

d.$_POST HTTP POST 变量

$_POST 数组是通过HTTP POST 方法传递的变量组成数组 $_POST 和$_GET 数组之一都可以保存表单提交的变量

示例:

<form action='save.php' method='post'> <input type='text'/> <input type='text'/> </form>

foreach($_POST as $key=>$value){ echo $key.'='$value.'<br>'; }

e.$_REQUEST request变量

此关联数组包含$_GET $_POST 和$_COOKIE 中全部内容 如果表单时通过form 的post 提交的就通过$_POST 获取,通过GET方式发送就用$_GET 方式获取。$_REQUEST不用关注是POST 或者GET ,即$_REQUEST 可以获取get 或post的数据但是速度慢。

f.$_FILES HTTP 文件上传变量

使用表单file输入域上传文件时,必须使用post方式提交但在服务器端不能通过$_post 文件获取而是通过$_FILES来获取$_FILES是一个二维数组,包含5个子元素。

g.$_COOKIE HTTP cookies

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

h.$_SESSION session 变量

会话控制是在服务端使用session跟踪用户,当服务端页面中使用session_start() 函数开启session后,就可以使用$_SESSION数组主机全局变量。

i.$GLOBALS global

$GLOBALS 是由所以定义的全局变量组成的数组,变量名就是该数组的索引,在所有脚本中都有效,在函数或对象中的方法中不需要使用关键字global访问,在函数外部声明全局变量,可以使用$_GLOBALS 数组替代global 关键字

示例:

$a=1;$b=2; function $sum(){ $GLOBALS['b']=$GLOBALS['a']+$GLOBALS['b']; } $sum(); echo $b;

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d373e4eb9283079fa207d8220ca92499.html