Функции для работы с переменными
PHP Manual

serialize

(PHP 4, PHP 5)

serializeГенерирует пригодное для хранения представление переменной

Описание

string serialize ( mixed $value )

Генерирует пригодное для хранения представление переменной

Это полезно для хранения или передачи значений PHP между скриптами без потери типа и структуры.

Для превращения сериализованной строки обратно в значение PHP, используйте функцию unserialize().

Список параметров

value

Значение, которое необходимо сериализовать. serialize() обрабатывает все типы, кроме типа resource. Возможно также сериализовать массивы, которые содержат ссылки на себя. Циклические ссылки внутри массива/объекта, который необходимо сериализовать, также сохраняются. Любые другие ссылки будут потеряны.

При сериализации объекта PHP пытается вызвать магический метод __sleep перед сериализацией. Это делается для того, чтобы позволить объекту в последний момент произвести очистку, и т.д. перед сериализацией. Так же, когда объект восстанавливается с использованием unserialize(), вызывается магический метод __wakeup.

Возвращаемые значения

Возвращает строку, содержащую потоковое представление переменной value, которая может быть сохранена где угодно.

Примеры

Пример #1 Пример использования serialize()

<?php
// $session_data содержит многомерный массив с сессионной
// информацией о текущем пользователе. Мы используем serialize() для сохранения
// этой информации в базе данных в конце запроса.

$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)) {
        
/* Код, выполняемый при ошибке.. */
    
}
}
?>

Список изменений

Версия Описание
4.0.7 Был исправлен процесс сериализации объектов.
4.0.0 При сериализации объекта методы теперь не теряются. См. Serializing Objects для более подробной информации.

Примечания

Замечание:

Невозможно сериализовать встроенные объекты PHP.

Смотрите также


Функции для работы с переменными
PHP Manual