在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数据。但是一切都还好...
请让我知道怎么了!谢谢您的阅读。
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;
您应该使用isset来检查某个变量是否已初始化-这意味着您要检查它是否具有任何值。即使是这种情况,也会产生TRUE:
$var = "";
if( isset( $var )){
echo TRUE;
}
在您的代码中,您似乎像是先尝试对其进行初始化并为其分配一些值,然后使用isset。无论您要完成什么,都应使用其他方法。