Php 我们可以在CodeIgniter中存储会话中的2d数组吗

Php 我们可以在CodeIgniter中存储会话中的2d数组吗,php,arrays,codeigniter,session,Php,Arrays,Codeigniter,Session,我正在登录一个web应用程序,然后我保留会话并锁定该应用程序,然后其他用户登录,我还希望在不破坏第一个用户会话的情况下将其数据保存到会话中。我们可以在CodeIgniter中将2d数组放入会话吗 // ################# OLD CODE WORKING FOR 1 USER ONLY ################# $result = $this->loginModel->login($email, $password); $this->session-

我正在登录一个web应用程序,然后我保留会话并锁定该应用程序,然后其他用户登录,我还希望在不破坏第一个用户会话的情况下将其数据保存到会话中。我们可以在CodeIgniter中将2d数组放入会话吗

// ################# OLD CODE WORKING FOR 1 USER ONLY #################
$result = $this->loginModel->login($email, $password);

$this->session->set_userdata($result);

// ################# NEW CODE (1) TRYING FOR MULTIPLE USERS #################
$result = $this->loginModel->login($email, $password);

$data['users'] = array();
foreach ($data['users'] as $index)
{
    $data['users'][$index] = $result;
} 
$this->session->set_userdata($data['users']);

// ################# NEW CODE (2) TRYING FOR MULTIPLE USERS #################
$result = $this->loginModel->login($email, $password);

$data['users'] = array();
foreach ($data['users'] as $index)
{
    $data['users'][$index] = $result;
    $this->session->set_userdata($index,$result);
} 

// ################# SESSION FILE CODE #################
public function set_userdata($data, $value = NULL)
{
    if (is_array($data))
    {
        foreach ($data as $key => &$value)
        {
            $_SESSION[$key] = $value;
        }

        return;
     }

     $_SESSION[$data] = $value;
}
这将1个用户数据存储到会话变量中,我想要多个

这是C#的参考

有一个硬编码的2d数组

在CodeIgniter用户指南中


在《用户指南》中,我没有看到在会话中定义任何二维数组。

您可以如下设置多维数组

$this->session->set_userdata(array("index_1"=>array("val1","val2","val3")));
然后你可以用

$sess_data =  $this->session->userdata("index_1");

echo $sess_data[0];
echo $sess_data[1];
echo $sess_data[2];

是的,最多2个用户我将允许和限制同时保持会话不超过2个会话就像windows一样,具有多用户登录系统如何在会话中存储多个用户数据因为我的代码不正确会话在浏览器和服务器之间提供持久性。每个不同的浏览器都维护自己的会话/服务器实例。不同浏览器上的不同用户会话之间没有连接。您可能不应该允许多个不同的用户从同一个浏览器登录。我不确定是否可以这样做。我可以像这样在会话中存储在循环$data['users']=array()中吗$数据['users'][0]=$result;foreach($data['users']as$index){$data['users'][$index+1]=$result;$this->session->set_userdata($index,$result);}或此$data['users']=array()$数据['users'][0]=$result;对于($i=0;$i session->set_userdata($index,$result)}如果我写入$sess_data=$this->session->userdata();$i=0;如果(sizeof($sess_data)>0){$i=sizeof($sess_data)+1;}$this->session set_userdata(array($i=>$result));打印($sess__数据)[0]);退出();缺少CI_会话::userdata()的参数1