php $_REQUEST、$_GET、$_POST
$_REQUEST
用于获取提交的表单数据。
如果提交的参数通过url方式,那么可以拿到,不管是get还是post,如果是通过请求体(如post的请求体)提交的数据,那么数据格式必须是 form-data 格式。也就是说请求体的数据格式不是 form-data 的话,$_REQUEST 是获取不到的。
<?php
$name = $_REQUEST['name'];
$age = $_REQUEST['age'];
echo $name.'年龄'.$age.'岁';

$_REQUEST参数覆盖优先级
$_REQUEST包括所有$_GET、$_POST和$_COOKIE几个数组中的数据元素。
如果这几个数组中的元素的键出现相同的,PHP将按照php.ini配置文件的变量赋值顺序依次对$_REQUEST数组中该关键字指定的元素进行重写。
在php.ini中,G代表$_GET,P代表$_POST,C代表$_COOKIE,E代表$_ENV,S代表$_SERVER。
按照配置文件的顺序,后面出现的数据会覆盖前面写入的数据。php7中默认的数据写入顺序是GP,因此,在关键字相同的情况下,POST包含的数据会覆盖GET中的数据。
; This directive determines which super global data (G,P & C) 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"
$_GET、$_POST
$_GET 和 $_POST 其实和get或post请求没什么关系
$_GET 用于获取url上的参数
$_POST 用于获取请求体中的参数
所在post请求中也可以使用 $_GET 全局变量来获取url上的参数。
在post请求中,通过 $_REQUEST 参数获取同名的参数,比如在url上添加age,同时在请求体中也添加age参数,那么url上的该age参数会被请求体中的age参数覆盖掉,
<?php
$name = $_POST['name'];
$age = $_POST['age'];
$trueAge = $_GET['age'];
$reqAge = $_REQUEST['age'];
echo $name.'年龄'.$age.'岁'.', 实际年龄'.$trueAge.'<br>';
echo '最终的年龄是:'.$reqAge;

相关推荐
-
Django+uWSGI+Nginx部署原理及配置详解2025-04-03 00:49:11
-
PHP实时消息推送关于websocket技术2025-04-03 00:27:22
-
整套的MySQL、负载均衡的mysql集群解决方案,视频和文档为你解忧
整套的MySQL、负载均衡的mysql集群解决方案,视频和文档为你解忧2025-04-03 00:22:19 -
怎么使用PHP实现表单提交和验证?2025-04-03 00:12:55
-
php毫秒时间戳常用倒计时代码,配合前端js使用2025-04-03 00:09:56