我正在尝试输出字符串以形成图像路径,这些字符串保存在最深层的嵌套数组中。
我的循环在这个级别上迭代所有数组内容,但只输出数组内容的第一个字母,我不知道为什么。
所以我需要一些帮助,以下是我所拥有的。。。
阵列转储:
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,所以将字符串视为数组是完全可行的:)