serialize

serialize -- Genereert een bewaarbare representatie van een waarde

Beschrijving

string serialize ( mixed value)

serialize( ) geeft een string terug die een byte-stream representatie van value bevat die overal kan worden opgeslagen .

Dit is nuttig om PHP waarden op te slaan of door te geven zonder hun type en structuur te verliezen .

Om de serialized string weer in een PHP waarde te veranderen , moet je unserialize( ) gebruiken . serialize( ) behandelt alle typen , behalve het resource -type . Je kan zelfs arrays die verwijzingen naar zichzelf bevatten serialize( ) ren . De verwijzingen in de array of het object dat je aan het serialize( ) n bent zullen ook worden opgeslagen .

Als je objecten gaat serializen , dan zal PHP proberen de functie __sleep( )( ) van dat object aan te roepen voor het serializeren . Dit om het object de mogelijkheid te geven dingen op te schonen voor het serializen . Op dezelfde manier wordt de __wakeup( )( ) functie aangeroepen als het object is gereconstrueerd met de unserialize( ) functie .

Opmerking : In PHP 3 , zullen properties van objecten worden geserializeerd , maar methods zullen verloren gaan . PHP 4 kent die limitatie niet , en zal zowel de properties als de methods herstellen . Zie de Serializing Objects sectie van Classes and Objects voor meer informatie .

Voorbeeld 1 . serialize( ) voorbeeld

 
/

 
/

 
$session_data

 
bevat

 
een

 
multi-dimensionele

 
array

 
met

 
sessie

 
/

 
/

 
informatie

 
voor

 
de

 
huidige

 
gebruiker

 
.




 
We

 
gebruiken

 
serialize(

 
)

 
om

 
deze

 
/

 
/

 
data

 
op

 
te

 
slaan

 
in

 
een

 
database

 
aan

 
het

 
einde

 
van

 
het

 
request

 
.

 
$conn

 
=

 
odbc_connect

 
("webdb"

 
,

 
"php"

 
,

 
"chicken")

 
;

 
$stmt

 
=

 
odbc_prepare

 
($conn

 
,

 
"UPDATE

 
sessions

 
SET

 
data

 
=

 
?




 
WHERE

 
id

 
=

 
?"

 
)

 
;

 
$sqldata

 
=

 
array

 
(serialize($session_data)

 
,

 
$PHP_AUTH_USER)

 
;

 
if

 
(!odbc_execute

 
($stmt

 
,

 
$sqldata)

 
)

 
{

 
$stmt

 
=

 
odbc_prepare($conn

 
,

 
"INSERT

 
INTO

 
sessions

 
(id

 
,

 
data

 
)

 
VALUES(?

 
,

 
?)")

 
;

 
if

 
(!odbc_execute($stmt

 
,

 
$sqldata)

 
)

 
{

 
/

 
*

 
Er

 
ging

 
iets

 
fout

 
.









Zie ook : unserialize( ) .