As we know, in PHP, we can use session_encode() and session_decode() to encode/decode the session data, but, if you have tried these two
functionality, you will see the they are not going as you think. So here, i find these two functionality which will help you to do that.
/* * * serialize session * * @param array $data * @param boolean $safe * @return string */ function serialize_session( $array, $safe = true) { // the session is passed as refernece, even if you dont want it to if ( $safe) { $array = unserialize( serialize( $array)); } $raw = ''; $line = 0; $keys = array_keys( $array); foreach ( $keys as $key) { $value = $array[ $key]; $line++; $raw .= $key . '|'; if ( is_array( $value) && isset( $value['huge_recursion_blocker_we_hope'])) { $raw .= 'R:' . $value['huge_recursion_blocker_we_hope'] . ';'; } else { $raw .= serialize( $value); } $array[ $key] = Array('huge_recursion_blocker_we_hope' => $line); } return $raw; } /* * * unserialize session * * @param string $data * @return array */ function unserialize_session( $data) { $vars = preg_split('/([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff^|]*)\|/', $data, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); for ( $i = 0; $vars[ $i]; $i++) { $result[ $vars[ $i++]] = unserialize( $vars[ $i]); } return $result; }