检查PHP中部分会话变量是否为null

时间:2012-03-18 18:12:21

标签: php mysql session session-variables

如果我有30个会话变量,并且我想只对其中的10个执行if语句。

if (empty($_SESSION['XYZ'])) {
   $_SESSION['XYZ'] = 0;
}

我该怎么办?我需要在每个会话变量之后调用if语句吗?

5 个答案:

答案 0 :(得分:1)

$vars = array('XYZ','ABC','DEF');

foreach($vars as $i){
  if(empty($_SESSION[$i])) $_SESSION[$i] = 0;
}

[编辑]
我喜欢我们现在有4次相同的答案,并且数着!

答案 1 :(得分:1)

考虑将键的名称放在数组中,然后使用foreach循环。

$keys = array('x','y','z');
foreach ($keys as $key)
{
    if (empty($_SESSION[$key])
    {
        // do stuff
    }
}

一个优点是您可以快速添加或删除要检查的密钥。

答案 2 :(得分:0)

如果它们是串联的,即从0到29,那么你可以使用循环来遍历它们!

答案 3 :(得分:0)

是这样的吗?

$keys = array("A", "B", "C", "D", "E", "F");
foreach ($keys as $key) {
    if (empty($_SESSION[$key])) {
        $_SESSION[$key] = 0;
    }
}

答案 4 :(得分:0)

您可以列出要在数组中清零的键,并按如下所示进行设置:

$keys = array('XYZ','FOO','BAR');

foreach ($keys as $key) {
  if (empty($_SESSION[$key])) {
    $_SESSION[$key] = 0;
  }
}