CodeIgniter视图仅从数组输出单个字符

时间:2013-12-14 16:48:58

标签: php arrays codeigniter

我正在尝试输出字符串以形成图像路径,字符串保存在最深层的嵌套数组中。

我的循环遍历此级别的所有数组内容,但只输出数组内容中的第一个字母,我无法弄清楚原因。

所以我需要一些帮助,这就是我所拥有的......

数组转储:

Array
(
[0] => Array
    (
        [p_name] => Shops
        [p_startdate] => foo
        [p_enddate] => bar
        [p_elapsed] => hello
        [p_rag] => Array
            (
                [0] => grayNodePng6160.png
                [1] => grayNodePng6160.png
                [2] => grayNodePng6160.png
                [3] => grayNodePng6160.png
                [4] => grayNodePng6160.png
                [5] => grayNodePng6160.png
                [6] => grayNodePng6160.png
                [7] => grayNodePng6160.png
                [8] => grayNodePng6160.png
            )

        )

)

控制器索引方法

public function index()
{
    $data = array();

    $data['splash_projects'] = $this->generate_projects();

    $this->load->view('include/header');
    $this->load->view('include/navigation');
    $this->load->view('splash', $data);
    $this->load->view('include/footer');
}

控制器辅助方法:

    private function generate_projects(){

    $projects = array(
        array (
            "p_name"      => "Shops",
            "p_startdate" => "foo",
            "p_enddate"   => "bar",
            "p_elapsed"   => "hello",
            "p_rag"       => array ('grayNodePng6160.png', 'grayNodePng6160.png','grayNodePng6160.png','grayNodePng6160.png','grayNodePng6160.png',
                'grayNodePng6160.png','grayNodePng6160.png','grayNodePng6160.png','grayNodePng6160.png')
        )
    );

return $projects;   
}

查看:

    <?php if($splash_projects!==false):?>
    <?php foreach ($splash_projects as $sproject):?>
         <div class="container">
            <div class="row">
                <p class="section-paragraph">Project Name :<?php echo $sproject['p_name']?></p>
                <p class="section-paragraph">Start Date: <?php echo $sproject['p_startdate']?></p>
                <p class="section-paragraph">End Date: <?php echo $sproject['p_enddate']?></p>
                <ul>
                    <?php foreach($sproject['p_rag'] as $rag):?>
                    <?php $x=0 ?>                   
                        <li><img class="section-paragraph">Overview: <?php echo $rag[$x] ?></img></li>                  
                    <?php endforeach?>
                </ul>             
          </div>
        </div>
    <?php endforeach?>
<?php endif?>

这是输出 - 概述:g,我为阵列中的每个元素打印一行。

完整路径信息尚不存在我只是想先将动态数据输出。

有人可以帮忙吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

你将$ rag视为数组而不是字符串(就是这样),所以$ rag [0]将返回字符串中的第一个字符。

为什么?如果我们回想一下C,我们记得一个字符串只是一个char的数组,这在某种程度上被转移到PHP中,因此将字符串视为数组是完全可行的:)