unserialize
(PHP 4, PHP 5)
unserialize —
Creates a PHP value from a stored representation
Description
mixed unserialize
(
string $str
)
unserialize() takes a single serialized variable and
converts it back into a PHP value.
Parameters
-
str
-
The serialized string.
If the variable being unserialized is an object, after successfully
reconstructing the object PHP will automatically attempt to call the
__wakeup() member function (if it exists).
Note:
unserialize_callback_func directive
It's possible to set a callback-function which will be called,
if an undefined class should be instantiated during unserializing.
(to prevent getting an incomplete object "__PHP_Incomplete_Class".)
Use your php.ini, ini_set() or .htaccess
to define 'unserialize_callback_func'. Everytime an undefined class
should be instantiated, it'll be called. To disable this feature just
empty this setting.
Return Values
The converted value is returned, and can be a boolean,
integer, float, string,
array or object.
In case the passed string is not unserializeable, FALSE is returned and
E_NOTICE is issued.
Examples
Example #1 unserialize() example
<?php
$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array($_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, &$sqldata) || !odbc_fetch_into($stmt, &$tmp)) {
$session_data = array();
} else {
$session_data = unserialize($tmp[0]);
if (!is_array($session_data)) {
$session_data = array();
}
}
?>
Example #2 unserialize_callback_func example
<?php
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';
ini_set('unserialize_callback_func', 'mycallback'); function mycallback($classname)
{
}
?>
Notes
Warning
FALSE is returned both in the case of an error and if unserializing
the serialized FALSE value. It is possible to catch this special case by
comparing str
with
serialize(false) or by catching the issued
E_NOTICE.