【问题标题】:HTTP global PHP variablesHTTP 全局 PHP 变量
【发布时间】:2013-01-22 17:57:36
【问题描述】:

有没有办法获得对包含 HTTP 请求数据(如 get、post、cookie 等)的全局数组的引用?例如:

$varName = getRequestReference()['varName'];

其中 getRequestReference() 将返回 &$_GET、&$_POST...取决于用户用于在脚本中提交数据的请求类型。

【问题讨论】:

    标签: php global


    【解决方案1】:

    听起来你在使用 $_REQUEST 变量?

    Request variable docs

    【讨论】:

      【解决方案2】:

      您可以使用$_REQUEST 获取$_POST、$_GET 或$_COOKIE 值

      有关详细信息,请参阅documentation。

      您还可以创建一个自定义函数来获取$_POST 或$_GET,具体取决于哪个具有请求的密钥:

      function getRequest($key)
      {
          if(!empty($_GET[$key]))
          {
              return $_GET[$name];
          }
          if(!empty($_POST[$key]))
          {
              return $_POST[$name];
          }
      
          return null;
      }
      
      $varValue = getRequest('varName');
      

      此函数将返回更新后的值(当您在运行时修改这些全局变量之一时)

      【讨论】:

      • 我知道 $_REQUEST,但是我想要一个参考,因为如果在运行时修改了 get 或 post(或任何请求)的内容,$_REQUEST 将不会反映该更改,而不是参考。
      • 我已经更新了我的答案,并提供了继续使用$_GET 和$_POST 的解决方案,因此它将提供更新的值(您似乎打算这样做)。就个人而言,我不会更新这些全局变量,因为它可能会在以后造成混乱(例如,当您忘记更新它们并期望不同的值时)
      • 谢谢你。虽然如果 php 可以根据请求的类型提供对全局数组的引用会很有用。
      猜你喜欢
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 2019-11-30
      • 2013-05-26
      • 2013-06-12
      • 2013-09-19
      • 2012-10-10
      • 1970-01-01
      相关资源
      最近更新 更多