php的 $_REQUEST取值为空

默认的 $_REQUEST 会获取 $_POST, $_GET, $_COOKIE的数据,
这些可以通过查看 php.ini来确认:

由上图可以看出,获取的内容是通过 variables_order 和 request_order 来决定的,

EGPCS 的意思:

       E  ----  $_ENV

       G  ----  $_GET

       P  -----  $_POST

       C  -----   $_COOKIE

        S  ----   $_SERVER

所以 $_REQUEST可以获取上面配置对应的方法的内容,但是在某些特殊的情况,$_REQUEST 的值会为空:

 当在调用 $_REQUEST 之前修改了原来的数据

<?php
    $_GET['foo'] = 'a';
    $_POST['bar'] = 'b';
    var_dump($_GET); // Element 'foo' is string(1) "a"
    var_dump($_POST); // Element 'bar' is string(1) "b"
    var_dump($_REQUEST); // Does not contain elements 'foo' or 'bar'

 

参考:http://php.net/manual/en/reserved.variables.request.php

posted @ 2018-07-17 12:16  一菲聪天  阅读(481)  评论(0编辑  收藏  举报