Php 如何在Codeigniter中将数据从一个视图传递到另一个视图?

Php 如何在Codeigniter中将数据从一个视图传递到另一个视图?,php,codeigniter,Php,Codeigniter,我有一个控制器main.php。我从这个控制器加载视图并传递数据 $this->load->view('main',$data); 在我的主要观点中,我正在加载以下内容: $this->load->view('header'); $this->load->view('content',$newData); $this->load->view('footer') 但是当我试图访问$newData时,我得到的是未设置的数据 $data i

我有一个控制器main.php。我从这个控制器加载视图并传递数据

  $this->load->view('main',$data);
在我的主要观点中,我正在加载以下内容:

 $this->load->view('header');
 $this->load->view('content',$newData);
 $this->load->view('footer')
但是当我试图访问
$newData
时,我得到的是未设置的数据

$data is of type
    Array
  (
      [newData] => Array
      (
        [0] => abc
        [1] => cde
        [2] => pqr
        [3] => xyz
    )
   )
如何在内容视图中访问新数据

 $this->load->('content',$newData);
取而代之的是it用户

$this->load->view('content');
无法在内容视图中访问$data数组。。 Codeigniter有一个很好的文档。

1st
$this->load->('header')不是有效的php行

因为没有函数名
$this->load->function\u name(“”)

所以它会给你一个错误

第二个您不能从另一个视图内部加载视图,加载视图是控制器的工作


如果您需要有关MVC编程的更多信息,请告诉我:)

查看
$data
的结构,您可以尝试以下方法,但不需要测试:

$this->load->view('main',$data);
主要观点是:

$this->load->view('header');
$this->load->view('content', array('newData' => $newData));
$this->load->view('footer')

当您尝试访问
newData
时,视图预期会有一个名为
newData
的键,但您传入的是
newData
本身,因此如果您使用数组包装它,那么它应该是好的。

在您的第二个代码子句中(即
this->load->(…
)应该抛出一个语法错误。你明白了吗?是的。实际上是我的键入错误。我会更改它。我不知道CI,但怀疑你只能加载一个视图。也许,加载你的内容视图,然后从那里呈现页眉和页脚部分?应该有一个视图帮助程序来完成这项工作,并在必要时将变量传递给部分。这是答案是正确的……但应该是数组('newData'=>$newData)