-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 に答える