我需要检查变量是否设置为某些东西.到目前为止,我一直在使用strlen(),但这确实令人尴尬,因为我很确定这不是一个非常有效的功能,可以重复使用.
如何更有效地执行此类检查:
if (strlen($_GET['variable']) > 0)
{
Do Something
}
Run Code Online (Sandbox Code Playgroud)
请注意,我不希望它做任何事情 $_GET['variable'] = ''
只是为了澄清我的意思 - 如果我有,www.example.com?variable=&somethingelse=1我不希望它渗透那个if语句
hw.*_*hw. 30
你可以试试empty.
if (!empty($_GET['variable'])) {
// Do something.
}
Run Code Online (Sandbox Code Playgroud)
在正面,它还将检查变量是否设置,即不需要isset单独调用.
关于不打电话有一些困惑isset.从文档中.
如果变量不存在或者其值等于FALSE,则该变量被视为空.如果变量不存在,则empty()不会生成警告.
和...
这意味着empty()基本上是!isset($ var)||的简洁等价物 $ var == false.
if(isset($_GET['variable']) && $_GET['variable']!=""){
}
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您只想检查是否设置了 $_GET,而不知道该值,只需计算 $_GET 数组即可:
<?php
if (count($_GET) == 0):
// do your stuff
else:
// do your other stuff
endif;
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32488 次 |
| 最近记录: |