完全清除_POST数组

OTA*_*TAR 23 php

我想要完全清楚$ _POST数组内容,我在互联网上看到的所有示例如下所示:

if (count($_POST) > 0) {
    foreach ($_POST as $k=>$v) {
        unset($_POST[$k]);
    }
}
Run Code Online (Sandbox Code Playgroud)

请告诉我,这个变种会不会更好?(作为节约资源的观点)

if (count($_POST) > 0) {
     $_POST = array();
}
Run Code Online (Sandbox Code Playgroud)

或不 ?

Wes*_*rch 52

是的,没关系.$_POST只是另一个变量,除了它有()全局范围.

$_POST = array();
Run Code Online (Sandbox Code Playgroud)

......已经足够了.循环没用.最好将它保存为数组而不是取消设置,以防其他文件试图读取它并假设它是一个数组.

  • 不起作用,重新插入数据库数据 (2认同)

kiw*_*123 7

到目前为止的解决方案不起作用,因为 POST 数据存储在标头中。重定向根据这篇文章解决了这个问题。

如何在使用 PHP 的浏览器上按下“刷新”按钮时删除 $_POST 变量?


rat*_*oss 5

要取消设置$_POST变量,请将其重新声明为空数组:

$_POST = array();
Run Code Online (Sandbox Code Playgroud)

  • -1.代码的其他部分可能假设$ _POST是一个数组. (4认同)