从Controller传递数组到codeigniter中查看

hi I m new in mongodb and codeigniter I have try to make simple CRUD operation in mongodb and php codeigniter I m trying to pass my array from Controller to view but it could not be done it gives an error A PHP Error was encountered

Severity: Notice

Message: Undefined variable: user_list

Filename: views/show_user.php

Line Number: 15

here is my code for Controller

class user extends CI_Controller
{
    public function __construct()
    {
         parent::__construct();
         //loading  the mongodb library
         $this->load->model('mongo_model');
    }

   //index where the controller starts
    public function index() 
    {
        $collection = $this->mongo_model->selectCollectiondb();
        $collection= iterator_to_array($collection);
        foreach ($collection as $users)
        {
        $data['_id']=$users['_id'];
        $data['firstname']=$users['firstname'];
        $data['lastname']=$users['lastname'];
        $data['email']=$users['email'];
        $data['password']=$users['password'];
        }
        print_r($data);
        $this->load->view('show_user',$data);
    }
}

Code for view is

<?php 
print_r($user_list);
exit();
<?php }?>

You are not passing proper array to variable to to view.

CodeIgniter passes variables/arrays from controller to view in the form of a parent array.

In your case, $data.

The keys of $data will become variables in view appended with $ symbol.

Virtually, in views, $data is extract() ed.

Corrected code:

public function index()  {
  $collection = $this->mongo_model->selectCollectiondb();
  $collection= iterator_to_array($collection);
  $user_list = array();
  foreach ($collection as $users) {
    $data['_id']=$users['_id'];
    $data['firstname']=$users['firstname'];
    $data['lastname']=$users['lastname'];
    $data['email']=$users['email'];
    $data['password']=$users['password'];
    $user_list[$users['_id']]['firstname'] = $users['firstname'];
    $user_list[$users['_id']]['lastname'] = $users['lastname'];
    $user_list[$users['_id']]['email'] = $users['email'];
    $user_list[$users['_id']]['password'] = $users['password'];
  }
  $data['user_list'] = $user_list;
  print_r($data);
  $this->load->view('show_user',$data);
}

There is not any $user_list variable defined in controller code.

print $data in your view.

  <?php 
   print_r($data);
   exit();
  ?>