php isset()不起作用

时间:2012-10-07 15:43:15

标签: php zend-framework zend-db

起初我发布了我的代码:

//if ($filterResults['id']) {
  if (isset($filterResults['id'])){
            $select = $this->select();
            $select->where('id = ?', $filterResults['id']);

        $this->fetchAll($select);


        }

现在,问题是如果我使用if ($filterResults['id']) {它会给出预期的结果但是如果我使用if (isset($filterResults['id'])){它就不起作用。我认为这背后没有任何理由。

2 个答案:

答案 0 :(得分:4)

如果值为NULL,

isset()将返回false。如果有可能,您可能希望改为使用array_key_exists()

if (array_key_exists('id', $filterResults)) {
    [...]
}

答案 1 :(得分:0)

如果我像这样使用isset():

if ( isset($filterResults['id']) && $filterResults['id'] != null ){
        $select = $this->select();
        $select->where('id = ?', $filterResults['id']);

    $this->fetchAll($select);


    }