2012-10-07 172 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)) { 
    [...] 
}