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

问题描述 投票:0回答:4

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

php codeigniter
4个回答
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);

3
投票

试试这个:

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

然后在您的视图中,访问两个数组:

$array1
$array2


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>

希望有帮助。


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

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

foreach( $second->array_result()  as $result )
{
    $result['test'];
}
© www.soinside.com 2019 - 2024. All rights reserved.