如何将多维数组从控制器传递到视图页面以及如何访问它

时间:2012-11-13 18:31:29

标签: php codeigniter

有人能告诉我如何从控制器访问传递多维对象数组到视图页面以及如何从视图页面访问这些数据。我的要求看起来像这样

我有我的第一个阵列

for($i=1; $i<=$day;$i++){
    $search_result[$i][1] = $this->photos_m->get_user_photos_by_date($this->user->_id, str_pad($i, 2, '0', STR_PAD_LEFT) , $month, $year);
} 

我还需要将值附加到此数组

foreach($friends as $friend=>$obj){   
    $friendCount++;
    for($i=1; $i<=$day;$i++){                                      
        $search_result['results'][$j] = $this->photos_m->get_friend_photos_by_date($obj->relation_id, str_pad($i, 2, '0', STR_PAD_LEFT) , $month, $year);
    }
}

$this->photos_m->get_friend_photos_by_date($obj->relation_id, str_pad($i, 2, '0', STR_PAD_LEFT) , $month, $year);的结果是一个对象数组。

请注意,我必须将数据存储在像这样的多维数组中

$search_result[0][1],$search_result[0][1] .... $search_result[n][n]

请检查我上面粘贴的代码,如果我做错了什么请指导我。如果它是正确的,请告诉我如何从视图页面访问该数据?

1 个答案:

答案 0 :(得分:0)

由于我无法评论,我会发布一个答案并对其进行编辑:) 你正在使用codeigniter,对吧?

因此,如果您将数组(在控制器中)传递给您的视图,例如:

$data['results'] = $search_result;
$this->load->view('your_view', $data);

然后,您可以访问您的多维数组(在查看中),如下所示:

<?php foreach($results as $result):
print_r($result); 
endforeach:?>

如果这不起作用:在执行

时是否检查了是否有任何输出
foreach($friends as $friend=>$obj){   

我的意思是,你检查过$ friend和$ obj是否真的有价值?
更重要的是:你在循环后print_r($search_result);了吗?就这样看看你的阵列中是否有任何值。