This is useful for storing or passing PHP values around without
losing their type and structure.
To make the serialized string into a PHP value again, use
unserialize().
Parameters
value
The value to be serialized. serialize()
handles all types, except the resource-type.
You can even serialize() arrays that contain
references to itself. Circular references inside the array/object you
are serializing will also be stored. Any other
reference will be lost.
When serializing objects, PHP will attempt to call the member function
__sleep prior to serialization.
This is to allow the object to do any last minute clean-up, etc. prior
to being serialized. Likewise, when the object is restored using
unserialize() the __wakeup member function is called.
Note:
Object's private members have the class name prepended to the member
name; protected members have a '*' prepended to the member name.
These prepended values have null bytes on either side.
Return Values
Returns a string containing a byte-stream representation of
value
that can be stored anywhere.
Examples
Example #1 serialize() example
<?php // $session_data contains a multi-dimensional array with session // information for the current user. We use serialize() to store // it in a database at the end of the request.
$conn = odbc_connect("webdb", "php", "chicken"); $stmt = odbc_prepare($conn, "UPDATE sessions SET data = ? WHERE id = ?"); $sqldata = array (serialize($session_data), $_SERVER['PHP_AUTH_USER']); if (!odbc_execute($stmt, $sqldata)) { $stmt = odbc_prepare($conn, "INSERT INTO sessions (id, data) VALUES(?, ?)"); if (!odbc_execute($stmt, $sqldata)) { /* Something went wrong.. */ } } ?>
Changelog
Version
Description
4.0.7
The object serialization process was fixed.
4.0.0
When serializing an object, methods are not lost anymore.
Please see the
Serializing Objects
for more information.
Notes
Note:
It is not possible to serialize PHP built-in objects.
See Also
unserialize() - Creates a PHP value from a stored representation