混淆空,isset,!空,!isset
由于$_GET['category']
也可以等于0,因此我无法正常工作。
if ( empty( $_GET['category'] ) ){
// do something
} else {
// do something else
}
我如何重写这个if语句来做3件不同的事情
$_GET['category']
根本不存在,请做点什么 $_GET['category'] == 0
则执行一些操作 $_GET['category'] ==
除“不存在”和0以外的其他东西,则执行一些操作。 我尝试过不同的empty()
isset()
!empty()
, isset()
!isset()
但我没有得到结果。 我可能做错了组合......
这不是很难做到: isset
是你需要的方法。
if (!isset($_GET['category'])) {
// category isn't set
} elseif ($_GET['category'] === '0') {
// category is set to 0
} else {
// category is set to something other than 0
}
请注意,我已经将完全相等与字符串'0'
,因为GET
和POST
变量始终是字符串(或偶尔是数组),并且在PHP首次接收它们时从不编号。
if (!isset($_GET['category']))
{
1. Do something if $_GET['category'] does not exist at all
}
elseif ($_GET['category'] == 0)
{
2. Do something if $_GET['category'] == 0
}
elseif (isset($_GET['category']) && ($_GET['category'] != 0)
{
3. Do something if $_GET['category'] == something other than "does not exist" and 0.
}
我的括号可能稍微有些偏差,但希望能帮助你。
有这种情况下的filter_input
功能。