2013-01-14 9 views
1

다음 작업을 수행해야합니다.코드 시퀀스의 세션 배열 업데이트

1) 배열을 가져다가 바다에 저장하십시오. 시작에서 그 후 나는 사용자로부터 어떤 값을 타고 session.which가 처음에 비어 .I이었다에서 다음 배열 ..Take 컨트롤러로 이동) 비어 오류가 내가

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

이이 일을하고있다 해당 사용자 값을 배열에 삽입 한 다음 해당 배열을 세션에 다시 삽입하십시오. 내가 이런 식으로 일을하고 ...

$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 값이 다른 index.But에 세션에 삽입되었습니다.하지만 마침내 나는 세션에서 데이터를 가져 와서 인쇄 ...이 값은 있지만 인덱스가 동일합니다 ...하지만 내 reuqirement 인덱스에 따라 differnt해야합니다. 나는 내가 할 0 1 2 인덱스에 세 시간을 표시 할 세 가지 time.6에 6을 입력했지만 6은 3 시간을 표시하지만,이 같은 동일한 인덱스에서 해당

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

처럼 인쇄입니다.

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

무엇이 문제인지는 알지 못합니다.

+0

필요한 출력 배열 형식을 지정할 수 있습니까? 나는 [name]이 배열이 아니어야한다고 생각한다. – 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);        

이렇게하면 배열에서 '이름'색인이 제거됩니다.

+0

이 링크에서도 도움을받을 수 있습니다. (http://stackoverflow.com/questions/4666091/array-manipulation-of-codeigniters-sessions) – cartina