Доступ к многомерному массиву с помощью Codeigniter

Хорошо. В моем проекте Codeigniter я передаю многомерный массив в мое представление. Проблема, с которой я сталкиваюсь, – это доступ к данным в массиве. Я использую print_r и var_dump, чтобы увидеть массив, и он правильно передается в представление, но у меня труднее всего получить доступ к данным в нем! Я получаю это сообщение об ошибке «Попытка доступа к параметру не-объекта». Какие-либо предложения?!

Вот контроллер: profile.php

<?php class Profile extends CI_Controller { public function __construct(){ parent::__construct(); $this->load->library('session'); //Get user data $this->load->model('user_model'); } public function user_lookup(){ //get usering users data $email = $this->session->userdata('email'); //get profile users data $username = $this->uri->segment(2,0); $user = array( 'users' => $this->user_model->getUserData($email), 'profile' => $this->user_model->getUserDataWithUsername($username) ); $this->load->view('profile_view', $user); } } ?> 

И вот представление, которое получает данные: profile_view.php

 <!DOCTYPE html> <html> <body> <?php print_r($users[0]); ?> </body> </html> 

Вывод моей инструкции print_r:

Массив ([родной город] => Лас-Вегас [email] => johnmy@gmail.com [университет] => UC Berkley [first_name] => Пит [last_name] => Смит [дата] => 1992) 1

Основываясь на вашем коде:

 $this->load->view('profile_view', $user); 

Это означает, что вы предоставляете массив $user качестве данных просмотра. Поэтому на вид $user больше не существует.

Вы можете использовать только этот элемент:

 <?php echo $hometown; echo $email; ?> 

Если вы хотите использовать $user array в поле зрения, используйте этот код загрузки вида в контроллере:

 $this->load->view('profile_view', array('user' => $user )); 

Вы можете больше узнать о Views в CodeIgniter .