Php 将数组和对象从控制器传递到CodeIgniter中的视图
我一直在尝试让CodeIgniter视图同时传递一个对象和一个数组,但是当我添加对象时,它似乎中断了 通常在CodeIgniter中,当您在控制器中创建一个变量时:Php 将数组和对象从控制器传递到CodeIgniter中的视图,php,codeigniter,Php,Codeigniter,我一直在尝试让CodeIgniter视图同时传递一个对象和一个数组,但是当我添加对象时,它似乎中断了 通常在CodeIgniter中,当您在控制器中创建一个变量时:$data['title']='Welcome to CodeIgniter',您可以在视图中访问该变量:$title 我需要通过以下方式传递检索到的用户数据: $data['title'] = 'welcome to codeigniter'; $this-db->where('id', $id); $user = $this
$data['title']='Welcome to CodeIgniter'
,您可以在视图中访问该变量:$title
我需要通过以下方式传递检索到的用户数据:
$data['title'] = 'welcome to codeigniter';
$this-db->where('id', $id);
$user = $this->db->get('users')->row();
$this->load->view('welcome', [
'data' => $data,
'user' => $user
]);
但是,当我进入视图时,$active
未定义,我必须通过$data['title']
我还尝试将所有内容添加到一个阵列中:
$data = array(
'title' => 'welcome to codeigniter',
'active' => 'home',
'user' => $user,
);
然而,它没有起作用
如果这不合理,我道歉,我正在尽力解释我的问题,如果你需要进一步的信息,请让我知道
谢谢,
月光
您可以在视图中使用$title和$user
您可以在视图中使用$title和$user您可以这样做:
$data['title'] = 'welcome to codeigniter';
$this-db->where('id', $id);
$data['user'] = $this->db->get('users')->row();
$this->load->view('welcome', $data );
在视图中,您可以访问以下内容:
echo $title; //will print the 'welcome to codeigniter'
print_r($user); // will hold the resource of query
您可以这样做:
$data['title'] = 'welcome to codeigniter';
$this-db->where('id', $id);
$data['user'] = $this->db->get('users')->row();
$this->load->view('welcome', $data );
在视图中,您可以访问以下内容:
echo $title; //will print the 'welcome to codeigniter'
print_r($user); // will hold the resource of query
//控制器
$data['title'] = 'welcome to codeigniter';
$data['user'] = $this->db->get('users')->row();
$this->load->view('welcome', $data);
//看法
<?=$title?>
<?=print_r($user)?>
//控制器
$data['title'] = 'welcome to codeigniter';
$data['user'] = $this->db->get('users')->row();
$this->load->view('welcome', $data);
//看法
<?=$title?>
<?=print_r($user)?>
在第一个示例中,您没有在视图数组中定义$active,因此这是预期的。在第二个示例中,“它不起作用”实际上是什么样子的?很抱歉,我需要键入$title
,而不是$active
。在第一个示例中,您没有在视图数组中定义$active,因此这是预期的。在您的第二个示例中,“它不工作”实际上是什么样子的?很抱歉,我需要键入$title
,而不是$active
。这不起作用,因为我几乎可以肯定php会尝试将[data]
和[user]
作为常量处理。。。我试着重复检查,是的,确实如此。是的,use可以使用$data变量onlu istead id$data\u new。但是它也会起作用(不推荐),因为@Suresh Kamrushi的答案是最有效的。我知道你的答案,它与现在接受的答案非常相似,但是你需要将$data[user]=$user
更改为$data['user']=$user`这不会起作用,因为我几乎肯定php会尝试处理[data]
和[user]
作为常量。。。我试着重复检查,是的,确实如此。是的,use可以使用$data变量onlu istead id$data\u new。但是它也会起作用(不推荐),因为@Suresh Kamrushi的答案是最有效的。我知道你的答案,它与现在接受的答案非常相似,但是你需要将$data[user]=$user
更改为$data['user']=$user`