使用数字索引将数据从控制器传递到视图

时间:2012-11-01 06:08:10

标签: arrays codeigniter

我有一个简单的问题。让我解释一下 我们使用它将数据从控制器传递到视图

function index(){

    $data['title'] = 'This is title';
    $data['message'] = 'This is message';
    $this->load->view('test',$data);
}

这里我们使用关联数组来传递数据 现在再次使用此函数并使用索引数组而不是关联数组

function index(){

    $data[] = 'This is title';
    $data[] = 'This is message';
    $this->load->view('test',$data);
}   

现在在View中这不起作用。

echo $data[0];
echo '<br>';
echo $data[1];

我只想知道为什么这不起作用。在用户指南中,我从未读过关联数组是必要的。

1 个答案:

答案 0 :(得分:1)

解析时视图数据将转换为变量。 PHP的extract()函数给出的类似结果。例如:

$data['title'] = 'This is the title';

可以$title $data['title']直接访问。事实上,如果你查看来源,你会发现它确实使用了extract()并且你的情况发生了类似的转换,但由于变量$0$1无效所以它们不是可用。

坚持字符串索引。如果这不是一个选项,那么您可能希望在文本之前添加前缀,如:

$data['d0'] = 'This is the title';

阅读其引用的手册here。但是,您可以传递数组而不是字符串,并提供您想要的确切结果。

$data['data'] = array('This is the title', 'This is the description');

现在,您可以使用$data[0]$data[1]进行访问。