【问题标题】:Unset group of variables [duplicate]未设置变量组[重复]
【发布时间】:2011-06-21 21:04:16
【问题描述】:

可能重复:
Can you unset() many variables at once in PHP?

$var1 = $var2 = $tvar3 = null;

这样的变量可以去掉吗?

有没有更好的方法来取消设置几个变量?

【问题讨论】:

  • 您确定要取消设置大量变量吗?
  • @Col:把它想象成...变量种族灭绝:P
  • 我认为这是一个设计缺陷
  • @Shakti Singh:你意识到你有足够的代表投票结束吗?总之,很好找。我刚刚投了赞成票。

标签: php variables null unset


【解决方案1】:

unset() 是可变参数(即它接受任意数量的参数并将它们全部取消设置):

unset($var1, $var2, $var3);

还要注意unset() 与设置为NULL 不同。使用unset(),您实际上删除了变量,而将它们设置为NULL 会保持它们的定义,只是使用NULL 的“值”。以任何一种方式执行都会导致 isset() 在这些变量上返回 false,但它们在语义和技术上仍然不同。

这是一个快速的证明:

<?php

$x = NULL;
var_dump(array_key_exists('x', $GLOBALS)); // bool(true)

unset($x);
var_dump(array_key_exists('x', $GLOBALS)); // bool(false)

?>

【讨论】:

  • 为了记录,如果有人想让我删除我的答案,请在评论中说出来,而不是反对或撤销赞成票。即便如此,我也可能会拒绝,因为只有这个问题有 = NULLunset() 的难题,我什至在找到副本之前就冒昧地在这里解释了。当然,除非有人发现一个更老的问题来询问它。
猜你喜欢
  • 1970-01-01
  • 2014-06-29
  • 2015-07-12
  • 1970-01-01
  • 1970-01-01
  • 2018-03-14
  • 2018-10-24
  • 1970-01-01
相关资源
最近更新 更多