0

很简单,但对我这个初学者来说,是个问题。我需要将一个数组从我的模型(数组在读取文本文件时填充信息)传递给控制器​​,然后最终传递给视图。我的模型:

    function show_notes(){
    $file = "notes.txt";

    foreach(file($file) as $entry)
    {
            list($user, $content) = array_map('trim', explode(':', $entry));
            $notes = array (
                'user'=> '$user',
                'content'=> '$content'
            );
    }
    return $notes;
}

控制器:

    function members_area()
{
    $this->load->model('Note_model');
    $notes[] = $this->Note_model->show_notes();

    $this->load->view('includes/header');
    $this->load->view('members_area', $notes);
    $this->load->view('includes/footer');   
}

鉴于我使用这个:

        foreach ($notes as $item)
    {
    echo "<h1>$user</h>";
    echo "<p>$content</p>";
            }

而且我收到错误提示变量在我看来是未定义的。

我想我只是不明白数组是如何工作的。我已经尝试阅读有关内容,我尝试了一些与此类似的示例,但仍然无法理解。

4

2 回答 2

0

在您的控制器中:

$data['notes'] = $this->Note_model->show_notes();
... 
$this->load->view('members_area', $data);

编辑:

在您看来:

<?php foreach ($notes as $item):?>
   <h1><?php echo $item['user']; ?></h1>
   <p><?php echo $item['content'] ?></p>
<?php endforeach; ?>

在您的模型中:

$notes = array();
foreach(file($file) as $entry)
{
        list($user, $content) = array_map('trim', explode(':', $entry));
        array_push($notes, array('user' => $user, 'content' => $content));
}
return $notes;
于 2012-08-13T17:22:00.350 回答
0

替换这个

$notes[] = $this->Note_model->show_notes();

有了这个

$notes['notes'] = $this->Note_model->show_notes();
于 2012-08-13T17:23:53.400 回答