变量无法提取 - 控制器查看Codeigniter

时间:2014-01-31 09:25:13

标签: php arrays codeigniter extract

我正在从我的控制器传递数据:

$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错误。

空数组的原因是什么?

一些事情:

  1. 'post'是我构建到类中的模型,它在某个表中提取某一行,其中包含特定帖子的所有详细信息。当尝试回显控制器中的数组时,它会显示。

  2. 可以在数组中插入新的键和值('errors'=&gt; 0)错误的原因吗?

2 个答案:

答案 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; ?>