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


CodeIgniter view only outputting single character from array

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

我的循环在这个级别上迭代所有数组内容,但只输出数组内容的第一个字母,我不知道为什么。

所以我需要一些帮助,以下是我所拥有的。。。

阵列转储:

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,我为数组中的每个元素打印一次这行。

完整的路径信息还没有,我只是想先把动态数据拿出来。

有人能帮忙吗?非常感谢。

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

为什么?如果我们回想起C,我们会记得字符串只是一个char的数组,这在某种程度上被带入了PHP,所以将字符串视为数组是完全可行的:)