我实际上并没有问语法和它是如何做的。 那是我从codeigniter: pass array from controller to view
获得的我需要问一下它的实际效果以及该过程的原因。
我有一个带有func的控制器类..
public function index()
{
//echo 'hello world';
$this->load->model('Site_model');
var_dump($this->Site_model->getAll()); // just to troubleshoot
$data['a'] = $this->Site_model->getAll();
var_dump($data); // just to troubleshoot
$this->load->view('home', $data);
}
当我尝试直接在视图中访问$ data数组时
它抛出错误,需要以<?php var_dump($a); ?>
为什么我们不能直接使用这个
public function index()
{
//echo 'hello world';
$this->load->model('Site_model');
var_dump($this->Site_model->getAll()); // just to troubleshoot
$data = $this->Site_model->getAll();
var_dump($data); // just to troubleshoot
$this->load->view('home', $data);
}
并直接在视图页
中以<?php var_dump($data); ?>
的形式访问数组
答案 0 :(得分:3)
答案 1 :(得分:0)
在这里使用extract()有很多原因:
$this->load->view('home', array('foo' => $bar));
;