Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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_Codeigniter - Fatal编程技术网

Php 将数组和对象从控制器传递到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

我一直在尝试让CodeIgniter视图同时传递一个对象和一个数组,但是当我添加对象时,它似乎中断了

通常在CodeIgniter中,当您在控制器中创建一个变量时:
$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`