检查php get变量是否设置为任何内容?

2022-08-31 00:14:15

我需要检查变量是否设置为某些内容。到目前为止,我一直在使用strlen(),但这真的很尴尬,因为我非常确定这不是一个非常有效的函数, 不能再次使用。

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

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

请注意,如果出现以下情况,我不希望它执行任何操作$_GET['variable'] = ''

只是为了澄清我的意思 - 如果我有,我不希望它渗透到那个如果声明www.example.com?variable=&somethingelse=1


答案 1

您可以尝试 。empty

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

从好的方面来说,它还将检查变量是否设置,即无需单独调用。isset

关于不呼叫 存在一些混淆。从文档中isset

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

和。。。

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


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

}

推荐