Codeigniter:在视图中访问数组

时间:2013-01-21 08:03:14

标签: php codeigniter

我是新的共同点,我刚刚开始白昼昨天我遇到了问题 这是我的控制器代码片段

        $allcalldetails_array = array(
                        'id' => $row->id,
                        'customer_id' => $row->customer_id
        );

        $this->session->set_userdata('logged',$allcalldetails_array);

我想在我的观点中迭代$allcalldetails_array,请告诉我如何做到这一点

我尝试迭代logged,却无法得到任何东西。

如果我在print_r($allcalldetails_array);的观点中打印数组,但这也令我失望。请帮助我重回正轨。

谢谢

4 个答案:

答案 0 :(得分:0)

要从会话中获取数据,您需要执行以下操作:

// controller logic
$logged = $data['logged_for_view'] = $this->session->userdata('logged'); // since 'logged' is the name you set it to
// more controller logic
$this->load->view('view_name', $data);

// in view
var_dump($logged_for_view); // this is the key of the $data variable you assigned for the view

答案 1 :(得分:0)

如果您希望将数据作为变量发送到视图,则应将相应的数据添加到视图加载中。 控制器:

$logged = $this->session->userdata('logged');
$this->load->view('viewfile', $logged);

查看

print "logged id:".$id;
最好的问候。 纳斯

答案 2 :(得分:0)

不需要通过控制器解析会话变量,直接在视图上访问它:

$logged = $this->session->userdata('logged');
print_r($logged);

答案 3 :(得分:0)

关于CodeIgniter's documentation

  

数据通过数组或方式从控制器传递到视图   视图加载函数的第二个参数中的对象。

然后你可以使用类似的东西:

// Controller side

$data['allcalldetails_array'] = array(
    'id' => $row->id,
    'customer_id' => $row->customer_id
);
$this->load->view('your_view', $data);


// View side

print_r($allcalldetails_array);

// Loop through your array
foreach ($allcalldetails_array as $detail){
    // Do something with your $detail.
}