php isset似乎不起作用

问题描述 投票:1回答:2

在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数据。但是一切都好...请让我知道怎么了!

感谢您阅读。

php codeigniter isset
2个回答
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;

0
投票

您应该使用isset来检查某个变量是否已初始化-这意味着您要检查它是否具有任何值。即使是这种情况,也会产生TRUE:

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

在您的代码中,您似乎像是先尝试对其进行初始化并为其分配一些值,然后使用isset。无论您要完成什么,都应使用其他方法。

© www.soinside.com 2019 - 2024. All rights reserved.