Функция PHP serialize

string serialize (mixed value)

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

Это используется для хранения или передачи PHP-значений повсюду без потери их типа и структуры.

Чтобы вновь сделать сериализованную строку PHP-значением, используйте функцию unserialize().serialize() обрабатывает все типы, кроме типа resource. Вы можете serialize() даже массивы, которые содержат ссылки на самих себя. Ссылки внутри массива/объекта, который вы serialize(), также будут сохранены.

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

Пример 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), $PHP_AUTH_USER);
   if (!odbc_execute ($stmt, &$sqldata)) {
      $stmt = odbc_prepare($conn, "INSERT INTO sessions (id, data) VALUES(?, ?)");
      if (!odbc_execute($stmt, &$sqldata)) {
         /* Что-то было не так. Bitch, whine and moan. */
      }
   }
?>

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