php isset似乎不起作用

时间:2015-01-15 17:16:05

标签: php codeigniter isset

在codeigniter的MVC模式模型中,我在下面创建了一些相同的代码。

  function getBoardNum($option){
    foreach($option as $key=>$content){
      $this->db->where($key,$content);
      //echo "$key $content";
    }
    if(isset($this->db->get('parsing_tb')->row()->num)){
      $num = $this->db->get('parsing_tb')->row()->num;
      return $num;
    }else{
      return false;
    }
  }

问题是处于isset状态的if似乎不起作用。 为了找出问题所在,我使用var_dump等来确认$ option数据。但是Everythings好的...... 请告诉我有什么问题!

感谢您的阅读。

2 个答案:

答案 0 :(得分:0)

您应该检查是否已初始化某个变量 - 这意味着您检查它是否具有任何值。 即使这种情况也会如此:

$var = "";
if( isset( $var )){
  echo TRUE;
}

在您的代码中,您似乎首先尝试初始化它并为其分配一些值,然后使用isset。对于你想要完成的任何事情,你应该使用不同的方法。

答案 1 :(得分:0)

Idk为什么isset()不起作用,但你可以试试这个:

//...

$query = $this->db->get('parsing_tb');
if ($query->num_rows() > 0)
{
  $num = $this->db->get('parsing_tb')->row()->num;
  return $num;
}
else
  return false;