在codeigniter视图文件中传递两种类型的数组变量

时间:2010-08-17 09:57:15

标签: codeigniter

如果我在控制器中有$ data []数组和$ another_data [],我们如何在视图文件中传递这两种类型的数据?只要codeigniter实现就像$ this-> load-> view('view_page',$ data)

4 个答案:

答案 0 :(得分:9)

如果可以保证两个数组中的数组键是唯一的,则可以使用array_merge在传递给视图之前合并这两个数组。

$this->load->view('view_page', array_merge($data, $another_data));

否则,您可以创建父数组并将它们存储为子数组。

$parent_data = array('data' => $data, 'another_data' => $another_data);
$this->load->view('view_page', $parent_data);

答案 1 :(得分:3)

试试这个:

$data['array1'] = $array1;
$data['array2'] = $array2;
this->load->view('view_page', $data);

然后在您的视图中,访问两个数组$array1$array2

答案 2 :(得分:2)

只需将它们指定为要传递给视图的数组的子数组。我总是在控制器中创建一个$view_data数组,然后使用$this->load->view('layout', $view_data);

将其发送到视图

以下是我的意思的一些例子:

$view_data['page_title'] = 'Array Examples';
$view_data['view_file'] = 'examples/array';
$view_data['array_one'] = array('apples', 'bananas', 'pears');
$view_data['array_two'] = array('ford', 'skoda', 'peugeot');
$this->load->view('layout', $view_data);

然后在视图中,您可以像下面这样访问它们:

<h6>List of fruits:</h6>
<pre><?php print_r($array_one); ?></pre>

<h6>List of cars:</h6>
<pre><?php print_r($array_two); ?></pre>

希望有所帮助。

答案 3 :(得分:0)

$this->load->view("first"=>demo, "second"=>demo2);

foreach( $first->array_result()  as $result )
{
    $result['test'];
}

foreach( $second->array_result()  as $result )
{
    $result['test'];
}