the environment is windows,php5.5,codeigniter 3.1.8 
 the code is as follows: 
<?php
        session_start();
        $_SESSION["admin"]="1";
        $str =array("_SESSION"=>array("isadmin"=>"admin","user"=>"user1"));
        extract($str);
        print_r($_SESSION); run as test.php, the result is 
 Array ([isadmin] = > admin [user] = > user1) 
  Delete the session file in the temporary directory  
 the code is copied to the welcome.php, of ci as follows 
<?php
defined("BASEPATH") OR exit("No direct script access allowed");
class Welcome extends CI_Controller {
    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     *         http://example.com/index.php/welcome
     *    - or -
     *         http://example.com/index.php/welcome/index
     *    - or -
     * Since this controller is set as the default controller in
     * config/routes.php, it"s displayed at http://example.com/
     *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/welcome/<method_name>
     * @see https://codeigniter.com/user_guide/general/urls.html
     */
    public function index()
    {
        $this->load->view("welcome_message");
    }
    public function test()
    {
        session_start();
        $_SESSION["admin"]="1";
        $str =array("_SESSION"=>array("isadmin"=>"admin","user"=>"user1"));
        extract($str);
        print_r($_SESSION);
    }
    
} run  http://localhost/index.php/we. and the results are as follows 
 Array ([admin] = > 1) 
 ci. What"s going on? 
