2

PHP:如何从包含的文件中取消设置所有变量?

4

4 回答 4

3

您可能想查看get_defined_vars(),但使用命名空间更有意义。

于 2012-10-23T19:30:30.300 回答
0

就像是:

foreach($GLOBALS as $key => $val) {
    unset($GLOBALS[$key]);
}

我永远不会这样做。正如一些评论者所说,研究命名空间。

于 2012-10-23T19:30:07.913 回答
0

你不应该使用全局变量有两个原因

  • 意大利面条代码
  • 名称冲突

我无法解决其中的意大利面条代码部分,但我可以建议您将所有全局变量移到其自己的类中以避免名称冲突

您可以将它们设置为单个全局对象的静态属性,而不是设置全局变量

class Globals {
  public static global1 = 0;
  public static global2 = 2;
}

并在您的代码中使用它们,例如

Globals::global1 = 5;

这避免了名称冲突,但我仍然避免它并尝试在不诉诸全局变量的情况下实现我的代码。

于 2012-10-23T19:33:16.760 回答
-2

使用 unset();

前任。未设置($_POST);未设置($_GET);未设置($数据);

于 2012-10-23T19:27:39.383 回答