这真的是我的坚果。 我将多维数组传递给这样的视图:
$res = $this->deliciouslib->getRecentPosts();
(正如你可以看到我正在玩的美味API)
$ result是一个数组,print_r($ result)给出如下内容:
我的问题是如何在视图中迭代这个!我一直在尝试这样的事情,
$result = $this->deliciouslib->getRecentPosts();
$i=0;
foreach($result as $value)
{
$val = 'val'.$i;
$data[$val]=$value;
$i++;
}
$this->load->view('delicious_view',$data);
return true;
然后,在视图中...... ...
foreach ($val0 as $value)
{
echo $value."<br>";
}
显然这不起作用,因为我需要所有“$ val(i)”! 我得到BrainCramp的男人!我可能围绕着答案跳舞,就像围绕篮筐的篮球一样,但我仍然完全陷入困境。任何想法我如何迭代整个数组,将是最有帮助的....
答案 0 :(得分:2)
假设$this->deliciouslib->getRecentPosts()
返回一个iterable,您可以尝试:
$data['delicious_posts'] = $this->deliciouslib->getRecentPosts();
并正常传递给视图。然后,在视图上,您执行以下操作:
foreach($delicious_posts as $delicious_post){
print_r($delicious_post);
}
答案 1 :(得分:2)
在CodeIgniter中,当您将数组传递给视图时,每个键都设置一个简单变量:
$data = array('foo' => 'bar');
$this->load->view('myview', $data)
// In your view
echo $foo; // Will output "bar"
因此,如果要传递数组,只需将值设置为数组:
$data = array('foo' => array('bar1', 'bar2') );
$this->load->view('myview', $data)
// In your view
foreach($foo as $bar) {
echo $bar . " "; // Will output "bar1 bar2 "
}
答案 2 :(得分:-1)
回答你的问题可能是从数组中调用数据。可能的解决方案:
使用索引获取数组。
$data['**result**']=$this->deliciouslib->getRecentPosts();
由于getRecentPosts()
的结果是数据数组,因此将其传递给视图
$this->load->view('view_name', $data);
如果结果是数组,请在“查看页面”上通过“正确索引”
进行访问$result[0-9]['col_name'] e.g **var_dump($result[9]['Title']**);
否则,如果它是一个对象数组,
$result[0-9]=>col_name<br> e.g **var_dump($result[9]=>title)**;