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

2021-12-29 00:00:00 arrays php codeigniter controller view

我有 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-inner"><?php如果(isset($header3_item)){foreach ($header3_item 作为 $key) {?><div class="header3-item"><img alt="<?php echo($key->title); ?>"src="<?php echo($key->img); ?>"/>

<?php}}?>

解决方案

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

$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);

视图部分可以保持不变.

I have CodeIgniter question. How can I pass an array from controller to view? Here is my code that doesn't work:

controller:

$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);

and view:

<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>

解决方案

You did it correctly (kinda). You passed an array to the view, but your problem was that you were using an object in the view. You should have instead done something like this:

$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);

The view part can stay the same.

相关文章