我正在从我的控制器传递数据:
$data = $this->post->get_post($postID);
$data['errors'];
$this->load->view('register_user.php', $data);
但出于某种原因,当尝试在视图中提取数组时,如下所示:
extract($data);
foreach ($data as $result)
{
echo $result,'<br>';
}
endforeach;
我收到$data is null
错误。
空数组的原因是什么?
一些事情:
'post'是我构建到类中的模型,它在某个表中提取某一行,其中包含特定帖子的所有详细信息。当尝试回显控制器中的数组时,它会显示。
可以在数组中插入新的键和值('errors'=&gt; 0)错误的原因吗?
答案 0 :(得分:2)
您可以在此视图中获取数据。
$errors
无论你放入$data
变量数组并将$ data变量传递给view,都会以这样的方式“转换”,即每个元素(索引)都是视图中的变量。
所以在控制器中我们有$data['news'] = array(); $data['errors'] = array();
但是在视图中我们只有2个变量,我们可以使用$news
和$errors
。
请按如下方式调整您的代码
$data['post'] = $this->post->get_post($postID);
var_dump($data['post']);
$this->load->view('register_user.php', $data);
并在视野中
foreach ($post as $result)...
答案 1 :(得分:0)
您可以直接在视图中使用数组键访问数据
例如:
if
$data = array(
'test1' => 'test1_data',
'test2' => 'test1_data'
);
在这种情况下,您可以直接访问$test1
<?php echo $test1; ?>