【问题标题】:Array Manipulation of Codeigniter's SessionsCodeigniter 会话的数组操作
【发布时间】:2011-06-07 15:44:32
【问题描述】:

从这个话题继续link text

大家好。我正在使用 codeigniter 并希望在会话中存储数据。我有这个数组

array(4) { 
[0]=> array(2) { ["DESC"]=> string(1) "A" ["SUBFUNCTION_ID"]=> string(3) "904" } 
[1]=> array(2) { ["DESC"]=> string(1) "B" ["SUBFUNCTION_ID"]=> string(3) "903" } 
[2]=> array(2) { ["DESC"]=> string(1) "C" ["SUBFUNCTION_ID"]=> string(3) "902" } 
[3]=> array(2) { ["DESC"]=> string(1) "D" ["SUBFUNCTION_ID"]=> string(3) "901" } 
} 

这是存储会话数据的数组

$data = array(
'username' => $this->input->post('username'),
'userid' => $query->USER_ID,    
'role' => $query->ROLE_ID,    
'is_logged_in' => true

);

如何操作第一个数组,然后将数据附加到第二个数组中?我希望它变成这样

$data = array(
'username' => $this->input->post('username'),
'userid' => $query->USER_ID,    
'role' => $query->ROLE_ID,    
'is_logged_in' => true,
'A' => 904,
'B' => 903,
'C' => 902,
'D' => 901

);

提前致谢

【问题讨论】:

    标签: php arrays codeigniter


    【解决方案1】:

    获取数组并对其进行操作。

    $user_array = $this->session->userdata('your_user_data');
    
    foreach ($your_array as $sub_array)
    {
        $user_array[$sub_array['DESC']] = $sub_array['SUBFUNCTION_ID'];
    }
    
    $this->session->set_userdata('your_user_data', $user_array);
    

    你会有这样的东西:

    $data = $this->session->userdata('your_user_data');

    $data = array(
    'username' => $this->input->post('username'),
    'userid' => $query->USER_ID,    
    'role' => $query->ROLE_ID,    
    'is_logged_in' => true,
    'A' => 904,
    'B' => 903,
    'C' => 902,
    'D' => 901
    )
    

    【讨论】:

      【解决方案2】:

      如果key不一样,可以加数组:$arr = $arr1 + $arr2;

      【讨论】:

        【解决方案3】:

        听起来你有$foo形式的会话数据和$data形式的起始数据

        $foo = array (
            array('DESC'=>'A', 'SUBFUNCTION_ID'=>904),
            array('DESC'=>'B', 'SUBFUNCTION_ID'=>903),
            array('DESC'=>'C', 'SUBFUNCTION_ID'=>902),
            array('DESC'=>'D', 'SUBFUNCTION_ID'=>901),
        );
        
        $data = array(
            'username' => $this->input->post('username'),
            'userid' => $query->USER_ID,    
            'role' => $query->ROLE_ID,    
            'is_logged_in' => true
        );
        

        要按照您的要求将$foo 中的数据合并到$data,请遍历$foo 中的所有值,然后将它们附加到$data

        foreach($foo as $bar) {
            $data[$bar['DESC']] = $bar['SUBFUNCTION_ID'];
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-02-28
          相关资源
          最近更新 更多