PHP数据数组变量未在视图中定义

时间:2010-08-23 05:36:27

标签: php arrays codeigniter view

我正在使用codeIgniter,我正在尝试传递数据数组。我写得像这样:

$data['username']="Dumbo";

我也写了这个:

$data['shouts']=$this->Musers->getShout();  // retrieve data from table

然后我写道:

$this->load->view("welcome_message", $data);

在视图页面中,我写道:

 <?php echo $username;
    foreach ($shouts as $shout)
        {
        echo $shout->shout;
        echo '<br>';
        echo $shout->timeStamp;          
        }
  ?> 

问题是当视图确实从表中检索数据并在视图页面中显示结果时,$data['username']出现了错误:

  

“未定义的变量:用户名”

为什么? $data['username']已经定义了!或者我做错了什么?

2 个答案:

答案 0 :(得分:1)

<?php echo $data['username']; ?>

如果你写了这个,就会发生错误。

正确的方法就是像

一样写
<?php echo $username; ?>

'username'是数据数组中的索引,使用load方法

传递给视图
$this->load->view("welcome_message", $data);

如果你需要传递数组......

$data['usernames'] = $username_array;
$this->load->view("welcome_message", $data);

然后在视图中,

<?php print_r($usernames); ?>

答案 1 :(得分:0)

在您看来,这样做..

$data = array(); 
$data['username'] = "something";
$data['shouts']=$this->Musers->getShout();