ГлавнаяОтзывы и пожеланияСтатьи
Функции по алфавиту:    a     b     c     d     e     f     g     h     i     j     k     l     m     n     o     p     q     r     s     t     u     v     w     x     y     z  

unserialize


(PHP 3>= 3.0.5, PHP 4)

unserialize - создаёт PHP-значение из хранимого представления.

Описание

mixed unserialize (string str)

unserialize() принимает одну сериализованную переменную (см. serialize()) и конвертирует её обратно в РНР-значение. Возвращается конвертированное значение, которое может быть integer, float, string, array или object.

Примечание: можно установить callback-функцийю, которая будет вызываться, если неопределённый/undefined класс должен быть инстанциирован в процессе десериализации (для предотвращения получения неполного object "__PHP_Incomplete_Class"). Используйте ваш php.ini, ini_set() или .htaccess-файл для определения `unserialize_callback_func`. Каждый раз, когда undefined класс должен быть инстанциирован, вызывается эта установка. Для отключения этого просто сделайте эту установку пустой.

Пример 1. unserialize_callback_func
$serialized_object=`O:1:"a":1:{s:5:"value";s:3:"100";}`;

ini_set(`unserialize_callback_func`,`mycallback`); // установить вашу callback_function

function mycallback($classname) {
    // просто включите/include файл, содержащий ваше classdefinition
    // вы получите $classname для показа того, какое classdefinition необходимо
}

Примечание: в PHP 3 методы не сохраняются при десериализации сериализованного объекта. В PHP 4 это ограничение устранено, и восстанавливаются как свойства, так и методы. См. дополнительно раздел Сериализация объектов в главе Классы и объекты.

Пример 2. unserialize()
// Здесь мы используем unserialize() для загрузки данных сессии в
// массив $session_data из строки, выбранной из БД.
// Этот пример использует одну из строк, описанных с помощью serialize().

$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)) {
    // если выполнение или извлечение не прошло, инициализируется пустой массив
    $session_data = array();
} else {
    // мы не должны иметь сериализованных данных в $tmp[0].
    $session_data = unserialize ($tmp[0]);
    if (!is_array ($session_data)) {
        // если что-то прошло не так, инициализировать пустой массив
        $session_data = array();
    }
}

См. также serialize().




Другие функции на u:

ucfirst
ucwords
udm_add_search_limit
udm_alloc_agent
udm_cat_list
udm_clear_search_limits
udm_close_stored
udm_crc32
udm_errno
udm_find
udm_get_doc_count
udm_get_res_field
udm_get_res_param
udm_open_stored
uksort
umask
uniqid
unixtojd
unlink
unpack
unregister_tick_function
urldecode
usleep
utf8_decode
utf8_encode


EXPERTGS.ru описание функций php.