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(
)
.