$_REQUEST数组浅析
来源:互联网 发布:酒店前台软件 编辑:程序博客网 时间:2024/05/19 22:45
$_REQUEST数组是PHP中比较常用的数组,一般从其中取出POST,GET,COOKIE等参数,在这里写明一下$_REQUEST数组的填充方式,防止出现一些意想不到的问题。
在php.ini中有如下的配置:
; This directive determines which super global data (G,P,C,E & S) should; be registered into the super global array REQUEST. If so, it also determines; the order in which that data is registered. The values for this directive are; specified in the same manner as the variables_order directive, EXCEPT one.; Leaving this value empty will cause PHP to use the value set in the; variables_order directive. It does not mean it will leave the super globals; array REQUEST empty.; Default Value: None; Development Value: "GP"; Production Value: "GP"; http://php.net/request-order
request_order = "GP"
request_order这个配置项说明哪些全局变量(G,P,C,E,S分别代表$_GET,$_POST,$COOKIE,$_ENV,$_SERVER)的内容会被添加到$_REQUEST数组中,并且会指明变量填充的顺序,如果重名,那么后面填充的变量会覆盖前面填充的变量内容。如果把request_order置空,那么PHP将会使用variables_order(如下)配置项所指定的全局变量注册顺序来填充$_REQUEST数组,而不是说把$_REQUEST置空。
; This directive determines which super global arrays are registered when PHP; starts up. If the register_globals directive is enabled, it also determines; what order variables are populated into the global space. G,P,C,E & S are; abbreviations for the following respective super globals: GET, POST, COOKIE,; ENV and SERVER. There is a performance penalty paid for the registration of; these arrays and because ENV is not as commonly used as the others, ENV is; is not recommended on productions servers. You can still get access to; the environment variables through getenv() should you need to.; Default Value: "EGPCS"; Development Value: "GPCS"; Production Value: "GPCS";; http://php.net/variables-order
variables_order = "GPCS"
variables_order这个配置项用来指定全局变量EGPCS (Environment, Get, Post, Cookie, and Server)的解析顺序。如果variables_order被设置为SP,那么PHP会创建$_SERVER和$_POST,而不会创建$_ENV,$_GET,$_COOKIE等变量,如果被设置为”",那么PHP不会创建任何超级全局变量。
注意:有时候从$_REQUEST中取出的值不是想要的,考虑这样一个场景,如果在php.ini中设置request_order = “GPCES”,在HTTP请求中GET或者POST参数的name恰好与COOKIE的name相同,假如为foo,那么在程序逻辑中想通过$_REQUEST['foo']来获取到值是名为foo的一个cookie的值,而不是GET或者POST请求的值,所以$_REQUEST尽量不用,应该从$_GET,$_POST,$COOKIE,$_ENV,$_SERVER等变量中取出需要的值。
- $_REQUEST数组浅析
- PHP的$_REQUEST数组
- $_REQUEST数组详解
- 慎用PHP $_REQUEST数组
- 慎用PHP$_REQUEST数组
- 慎用PHP$_REQUEST数组
- 慎用PHP$_REQUEST数组
- 慎用PHP$_REQUEST数组
- 【转】慎用PHP$_REQUEST数组
- $_REQUEST
- PHP预定义超全局数组 $_POST 、$_REQUEST 讲解
- 浅析 数组
- 数组浅析
- 浅析数组
- PHP-$_REQUEST
- excelvba数组入门浅析
- Java数组浅析
- 浅析树状数组
- Linux 内核驱动--阻塞与非阻塞机制及Poll/Select分析if
- Python py2exe[转]
- windows下hadoop集群的配置
- 链表中的倒数第m个元素
- dd
- $_REQUEST数组浅析
- (转载)Jackson 框架,轻易转换JSON
- 冲销收款
- vbscript通过ODBC访问mySQL
- gcc -l参数和-L参数
- 贷项通知单
- 调整
- 发票
- 暂无