检查php get variable是否设置为什么?

时间:2013-06-08 12:25:49

标签: php get strlen

我需要检查变量是否设置为某种东西。到目前为止,我一直在使用 strlen(),但 真的很尴尬 ,因为我很确定这不是一个非常有效的功能正在重复使用。

如何更有效地执行此类检查:

if (strlen($_GET['variable']) > 0)
{
    Do Something
}

请注意,如果$_GET['variable'] = ''

,我不希望它执行任何操作

只是为了澄清我的意思 - 如果我有www.example.com?variable=&somethingelse=1我不希望它渗透到if语句

6 个答案:

答案 0 :(得分:28)

您可以尝试empty

if (!empty($_GET['variable'])) {
  // Do something.
}

在正面,还会检查变量是否设置,即无需单独调用isset

关于不调用isset存在一些混淆。来自documentation

  

如果变量不存在或者其值等于FALSE,则该变量被视为空。如果变量不存在,empty()不会生成警告。

和...

  

这意味着empty()基本上是!isset($ var)||的简洁等价物$ var == false。

答案 1 :(得分:7)

 if(isset($_GET['variable']) && $_GET['variable']!=""){

}

答案 2 :(得分:2)

if(isset($_GET['variable']) && !empty($_GET['variable']))
{
//Do Something
}

答案 3 :(得分:1)

如果您只是想检查是否设置了任何$ _GET,而不知道该值只计算$ _GET数组:

<?php
if (count($_GET) == 0):
    // do your stuff
else:
    // do your other stuff
endif;
?>

答案 4 :(得分:0)

您可以使用isset()检查,但我还希望检查!= ''

的空白字符
if (isset($_GET['variable'])) && ($_GET['variable']) != '')

答案 5 :(得分:0)

怎么样只是

if ($_GET['variable'])
{
     Do Something
}