我们可以在 ci 中同时将数组和对象从控制器传递到视图吗?

Can we pass array and object from controller to view at same time in ci?

我有这样的对象 $interest

    Array
(
    [0] => Array
        (
            [item_id] => 7
            [item_name] => Jogging
        )

    [1] => Array
        (
            [item_id] => 8
            [item_name] => Entertainment
        )

)

和这样的数组 $profile

Array
(
    [username] => admin
    [email] => 
    [fullname] => 
    [profile] => http://pickaface.net/includes/themes/clean/img/slide4.png
)

我已将其发送给您查看

$this->load->view('users/profile',$profile,$interest);

但是当像这样传递时我无法检索 $interest 对象。在 profile 视图 但如果我只通过 $interest 我就能得到它。问题是我一次都通过了

$this->load->view 函数需要三个参数:(Loading Views)

  1. 查看 uri(您输入正确)

  2. 包含数据单元的关联数组(key=>value)以 $key

  3. 形式在视图末尾检索
  4. 布尔值(可选),您可以使用它来更改函数的行为,以便它 returns 数据作为字符串(如果设置为 true)或将其发送到您的浏览器(如果设置为默认值 false)

要发送多个数据单元,您必须使用关联数组。 尝试像这样发送数据:

$data = array(
   'interest' => $interest,
   'profile' => $profile,
);

$this->load->view('users/profile',$data);

在 profile.php 查看文件中,您可以检索此数据作为 $interest 和 $profile。

加载视图时,您必须传递一个 $data 数组,如 Deepak 所述。但是为了将 $profile 作为对象访问,您必须先在控制器中对其进行序列化,然后在视图中对其进行反序列化。