Beschrijving
mixed
unserialize
( string str [, string callback])
unserialize(
)
neemt
een
enkele
geserializeerde
variabele
(zie
serialize(
)
)
en
converteert
het
terug
naar
een
PHP
waarde
.
De
geconverteerde
waarde
wordt
teruggeven
,
en
kan
een
integer
,
float
,
string
,
array
of
een
object
zijn
.
Als
de
meegegeven
string
niet
correct
worden
ingelezen
,
zal
deze
functie
FALSE
teruggeven
.
Opmerking
:
Het
is
mogelijk
een
callback-functie
in
te
stellen
die
zal
worden
aangeroepen
als
een
ongedefinieerde
class
wordt
opgeroepen
tijdens
het
unserializen
(
om
te
voorkomen
dat
je
een
incompleet
object
"__PHP_Incomplete_Class
"
krijgt
.
)
Gebruik
je
php.ini
,
ini_set(
)
of
.htaccess
-bestand
of
'unserialize_callback_func
'
in
te
stellen
.
Elke
keer
een
ongedefinieerde
class
zou
worden
opgeroepen
,
wordt
die
functie
aangeroepen
.
Om
deze
optie
uit
te
zetten
,
moet
je
deze
instelling
gewoon
leeg
laten
.
Merk
op
dat
de
ini-instelling
unserialize_callback_function
nieuw
is
sinds
PHP
4.2.0
.
Als
de
variable
die
wordt
geunserialized
een
object
is
,
zal
PHP
automatisch
proberen
de
__wakeup(
)
functie
van
die
class
aan
te
roepen
als
deze
functie
beschikbaar
is
en
het
object
succesvol
kon
worden
gereconstrueerd
.
Voorbeeld
1
.
unserialize_callback_func
voorbeeld
?php
$serialized_object='
O:1
:"a":1
:{s:5
:"value";s:3
:"100"
;}'
;
/
/
unserialize_callback_func
is
beschikbaar
sinds
PHP
4.2.0
ini_set('unserialize_callback_func'
,'mycallback')
;
/
/
stel
je
callback_function
in
function
mycallback($classname
)
{
/
/
include
hier
een
bestand
dat
de
classdefinitie
bevat
/
/
je
krijgt
$classname
om
uit
te
zoeken
welke
definitie
je
nodig
hebt
}
?
|
|
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
2
.
unserialize(
)
example
?php
/
/
Hier
gebruiken
we
unserialize(
)
om
de
sessie
data
in
de
/
/
$session_data
array
te
laden
van
de
string
die
we
uit
een
database
/
/
halen
.
Dit
voorbeeld
maakt
het
voorbeeld
bij
serialize(
)
af
.
$conn
=
odbc_connect
("webdb"
,
"php"
,
"chicken")
;
$stmt
=
odbc_prepare
($conn
,
"SELECT
data
FROM
sessions
WHERE
id
=
?")
;
$sqldata
=
array
($PHP_AUTH_USER)
;
if
(!odbc_execute
($stmt
,
$sqldata
)
|
|
!odbc_fetch_into
($stmt
,
$tmp)
)
{
/
/
if
the
execute
or
fetch
fails
,
initialize
to
empty
array
$session_data
=
array()
;
}
else
{
/
/
we
should
now
have
the
serialized
data
in
$tmp[0]
.
$session_data
=
unserialize
($tmp[0])
;
if
(!is_array
($session_data)
)
{
/
/
something
went
wrong
,
initialize
to
empty
array
$session_data
=
array()
;
}
}
?
|
|
Zie
ook
:
serialize(
)
.