2012-10-07 112 views
-1

起初,我贴我的代码:PHP isset()函数不工作

//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'])){这是行不通的。我没有看到任何背后的原因。

回答

0

它的工作原理,如果我使用isset()函数是这样的:

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

    $this->fetchAll($select); 


    } 
4

isset()如果值为NULL,将返回false。如果这是一个可能性,你不妨用array_key_exists()代替:

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