【问题标题】:what exactly is $_REQUEST[$K] in PHP?PHP 中的 $_REQUEST[$K] 到底是什么?
【发布时间】:2010-09-07 08:24:32
【问题描述】:
$_REQUEST[$k] = isset($_GET[$k]) ? $_GET[$k] : $_POST[$k];

$_REQUEST[$k] = isset($_POST[$k]) ? $_POST[$k] : $_GET[$k];

这是什么情况,原因是什么?

【问题讨论】:

标签: php


【解决方案1】:

$_REQUEST$_GET$_POST$_COOKIE 的并集,其中 variables_order 并且从 PHP 5.3 开始,request_order 定义了顺序。

默认顺序是 GET、POST,然后是 cookie。这意味着 POST 参数会覆盖现有的 GET 参数,而 cookie 会覆盖现有的 POST 和 GET 参数。

【讨论】:

    【解决方案2】:

    ini 指令“variables_order”被认为*会影响 $_REQUEST,请参阅 http://php.net/manual/en/ini.core.php

    *“相信”,因为我从未使用过那个或 $_REQUEST 本身。

    【讨论】:

    • 你是对的,在实践中确实如此;但是我同意 $_REQUEST 本身就是一种代码味道。
    【解决方案3】:

    $_REQUEST 只是 PHP 将所有 GET 和 POST 和 COOKIE 参数放入的数组,在发生冲突时按该顺序排列。

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

    【讨论】:

      猜你喜欢
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多