codeigniter:从控制器传递数组到视图

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

标签: php arrays codeigniter view controller

我有CodeIgniter问题。如何从控制器传递数组到视图?这是我的代码不起作用:

控制器:

$data_part13['header3_item'][] = array('title' => 'first image 1' , 'img' => 'https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQoshslL3aMNzG50708domqPSA4ouPjk_wA7jCpVRUH3k8zVdn9' );

$this->load->view('part_1_3', $data_part13);

并查看:

<div id="header3">
    <div id="header3-inner">
        <?php
        if (isset($header3_item)){
            foreach ($header3_item as $key) {
        ?>
                <div class="header3-item">
                    <img alt="<?php echo($key->title); ?>" src="<?php echo($key->img); ?>"/>
                </div>
        <?php
            }
        }
        ?>
    </div>
</div>

2 个答案:

答案 0 :(得分:6)

你做得对(有点)。您将一个数组传递给视图,但问题是您在视图中使用了一个对象。你应该做这样的事情:

$data_part13['header3_item'][] = (object) array('title' => 'first image 1' , 'img' => 'https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQoshslL3aMNzG50708domqPSA4ouPjk_wA7jCpVRUH3k8zVdn9' );

$this->load->view('part_1_3', $data_part13);

视图部分可以保持不变。

答案 1 :(得分:2)

您正确传递了它,但是您没有从视图中正确访问它。您需要使用$key->title;

而不是$key['title']