简单,但对我来说,作为一个初学者,一个问题。我需要从模型中传递一个数组(数组在读取文本文件时填充信息)到控制器,然后最终到视图。 我的模特:
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>";
}
我收到的错误是注释变量在我的视图中未定义。
我想我只是不明白数组是如何工作的。我试着读一下这个,我尝试了一些与此类似的例子,但仍然无法得到它。
答案 0 :(得分: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;
答案 1 :(得分:0)
替换此
$notes[] = $this->Note_model->show_notes();
用这个
$notes['notes'] = $this->Note_model->show_notes();