2013-01-14 43 views
1

我必須執行以下任務。codeigniter中的會話數組更新

1)取一個數組並將其保存到食積中。在開始它是空的錯誤,我這樣做

$id_array=array(); 
    $this->session->set_userdata('PID', $id_array); 

2)後,我採取一些來自用戶的價值,然後去到控制器..Take數組從session.which最初是空的。我將該用戶值插入數組,然後再次將該數組插入到會話中。 我這樣做是這樣的...

$username['name']=$this->session->userdata['PID']; 
array_push($username,$PID);//this $PID is variable which i m getting from user 
$this->session->set_userdata('PID', $username); 

所以用戶重複此過程中的兩個和三個時間。這意味着3值已被插入會話到不同的索引。但最後我從會話中獲取數據並打印它。這些值在那裏,但索引是相同的...但根據我的要求索引應該是不同的。我是打印類似

$username['name']= $this->session->userdata('PID'); 
print_r($username); 

我已經在三個time.6進入6應該出現三個時間在0 1 2索引,但6出現3次,但是,這樣相同的索引。

Array ([name] => Array ([name] => Array ([name] => Array ([name] => Array ([name] => Array () [0] => 6) [0] => 6) [0] => 6) [0] => 6)) 

我不知道是什麼問題。

+0

你能指定你需要的輸出數組格式嗎?我認爲[名字]不應該是一個數組。 – cartina

回答

1

試試這個。

$username=$this->session->userdata['PID']; // read the session 
array_push($username,$PID);//this $PID is variable which i m getting from user 
$this->session->set_userdata('PID', $username);        

這將從數組中刪除'name'索引。

+0

你也可以從這個鏈接獲得幫助。 (http://stackoverflow.com/questions/4666091/array-manipulation-of-codeigniters-sessions) – cartina