【问题标题】:variable seems to be uninitialized but it is showing that exist变量似乎未初始化,但显示存在
【发布时间】:2013-05-20 15:30:18
【问题描述】:

这里是 php 新手 :)

所以问题是我想将数据从表写入查看页面,但它显示警告变量未初始化... (在表新闻中有列类型和日期) 控制器功能:

function ShowNews(){
    $data = array();
    $this->load->model('user');
    $q = $this->user->getNews();
    if($q){
        $data['v'] = $q;
    }
    return $data;
}

在模型函数getNews中

function getNews(){
    $q = $this->db->get('News');
    if($q->num_rows() > 0){
        return $q->result();
    }
}

在视野中

     <?php if(isset($v)) : foreach( $v as $row) : ?>
         <li><?php echo $row->Type; ?>
          <?php echo $row->Date; ?></li>
      <?php endforeach; ?>
      <?php else :?>
           <li>No new News</li>
      <?php endif;?>

但它总是显示 No new News 并且变量 v 未初始化,所以我认为需要以某种方式初始化 v 以使其工作......而且当我输入 $ 时,它表明它存在???

【问题讨论】:

    标签: php codeigniter netbeans


    【解决方案1】:

    我不知道您的$v 是什么,但您可以将isset 更改为empty 检查:

    <?php if(!empty($v)) : foreach( $v as $row) : ?>
    

    有关什么是空变量的更多信息,请查看empty function manual page

    【讨论】:

    • $v 是这个 $data['v'] = $q;它应该是一个变量,所以我可以从视图中访问.. 尝试为空但得到相同的结果
    • 你的$q 必须是一个可迭代的对象。否则你的foreach 没有意义。
    猜你喜欢
    • 2016-04-13
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2016-07-31
    • 1970-01-01
    相关资源
    最近更新 更多