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