session_encode

(PHP 4, PHP 5)

session_encode --  将当前会话数据编码为一个字符串

描述

string session_encode ( void )

session_encode()返回一个字符串,该字符串包含有被编码的当前会话数据。

参见 session_decode()


add a note add a note User Contributed Notes
Onur Yerlikaya < http://www.witkey.org >
19-Jul-2006 11:21
<?php
session_start
();
# boolean type
$_SESSION['logged']    = true;
# string type
$_SESSION['name']    = "Onur Yerlikaya";
# integer type
$_SESSION['age']    = 17;

// logged|b:1;name|s:14:"Onur Yerlikaya";age|i:17;

function readSessions() {
  
$encodedData    = session_encode();
  
$explodeIt    = explode(";",$encodedData);
   for(
$i=0;$i<count($explodeIt)-1;$i++) {
      
$sessGet    = explode("|",$explodeIt[$i]);
      
$sessName[$i]    = $sessGet[0];
       if(
substr($sessGet[1],0,2) == "s:") {
          
$sessData[$i]    = str_replace("\"","",strstr($sessGet[1],"\""));
       } else {
          
$sessData[$i]    = substr($sessGet[1],2);
       }
// end if
  
} // end for
  
$result        = array_combine($sessName,$sessData);
   return
$result;
}   

/*
readSessions Func shows encoded data in array
Array
(
   [logged] => 1
   [name] => Onur Yerlikaya
   [age] => 17
)
*/
print_r(readSessions());
?>
<carlos sica>sica at wnet dot com dot br
06-May-2005 12:19
session_encode() just return the session dataset in a formatted form

session_start();

$_SESSION['login_ok'] = true;
$_SESSION['nome'] = 'sica';
$_SESSION['inteiro'] = 34;

echo session_encode();

this code will print

login_ok|b:1;nome|s:4:"sica";inteiro|i:34;