-1

起初我发布了我的代码:

//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'])){它就不起作用。我看不出这背后有什么原因。

4

2 回答 2

4

isset()如果值为 NULL,将返回 false。如果这是一种可能性,您可能希望array_key_exists()改用:

if (array_key_exists('id', $filterResults)) {
    [...]
}
于 2012-10-07T15:45:27.693 回答
0

如果我像这样使用 isset() 它会起作用:

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

    $this->fetchAll($select);


    }
于 2012-10-07T16:01:56.913 回答