Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Codeigniter访问多维数组_Php_Arrays_Codeigniter - Fatal编程技术网

Php 使用Codeigniter访问多维数组

Php 使用Codeigniter访问多维数组,php,arrays,codeigniter,Php,Arrays,Codeigniter,好的,在我的Codeigniter项目中,我将一个多维数组传递给我的视图。我遇到的问题是访问数组中的数据。我使用print_r和var_dump查看数组,它被正确地传递到视图中,但我最难访问其中的数据!我收到这个错误消息,“试图访问非对象的参数”。有什么建议吗 这是控制器:profile.php <?php class Profile extends CI_Controller { public function __construct()

好的,在我的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语句的输出是:

阵列([家乡]=>拉斯维加斯[电子邮件]=>johnmy@gmail.com[大学]=>加州大学伯克利分校[名字]=>皮特[姓氏]=>史密斯[日期]=>1992)1

根据您的代码:

$this->load->view('profile_view', $user);
这意味着您提供数组
$user
作为查看数据。因此,在视图中,
$user
不再存在

您只能在视图中使用它的元素:

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

您可以阅读更多信息。

如果需要echo,请使用print\r($user,true);同时粘贴内容以获得更好的回答您可以展示您的用户数组的外观吗?我只是在问题中添加了输出,并简化了profile.php页面以忽略一些不相关的函数!我希望这有助于你理解这个问题!要访问“家乡”,请使用$user[0][“家乡”];好的,我将用户子数组改为用户,而不是用户,以区分父数组和子数组,但我仍然得到相同的恼人错误…生成该错误的行是什么?这通常是因为
$blabla->data
:您试图访问参数
$data
。但是,
%blabla
不是一个对象。
$this->load->view('profile_view', array('user' => $user ));