Доступ к многомерному массиву с помощью Codeigniter - PullRequest
0 голосов
/ 20 марта 2012

Хорошо, в моем проекте 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:

Array ([родной город] => Лас-Вегас [электронная почта] => johnmy@gmail.com [университет] => Калифорнийский университет в Беркли [first_name] => Пит [last_name] => Смит [дата] => 1992) 1

1 Ответ

1 голос
/ 20 марта 2012

На основании вашего кода:

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

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

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

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

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

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

Подробнее о Views можно прочитать в CodeIgniter .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...