混淆空,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' ,因为GETPOST变量始终是字符串(或偶尔是数组),并且在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功能。

    链接地址: http://www.djcxy.com/p/59555.html

    上一篇: Getting confused with empty, isset, !empty, !isset

    下一篇: Ampersand before a variable in foreach php