serialize

serialize

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

serialize --  Genera una representaci贸n apta para almacenamiento de un valor

Descripci贸n

string serialize ( mixed valor )

serialize() devuelve una cadena que contiene una representaci贸n de flujo de bytes del valor que puede ser almacenada en cualquier parte.

Esto es 煤til para el almacenamiento de valores en PHP sin perder su tipo y estructura.

Para recuperar el valor PHP a partir de la cadena seriada, use unserialize(). serialize() maneja todos los tipos, excepto resource. Usted puede incluso usar serialize() sobre matrices que contienen referencias a ellas mismas. Las referencias encontradas en la matriz/objeto que procede a seriar con serialize() tambi茅n ser谩n almacenadas.

Cuando seria objetos, PHP intentar谩 llamar la funci贸n miembro __sleep() antes de la seriaci贸n. Esto permite que el objeto efect煤e limpiezas de 煤ltimo minuto, etc. antes de ser seriado. De forma semejante, cuando un objeto es recuperado usando unserialize(), la funci贸n miembro __wakeup() es llamada.

Nota: Esto no funcionaba correctamente hasta 4.0.7.

Nota: En PHP 3, las propiedades de los objetos ser谩n seriados, pero los m茅todos se pierden. Esa limitaci贸n fue retirada en PHP 4 ya que tanto las propiedades como los m茅todos son almacenados ahora. Por favor consulte la secci贸n Seriaci贸n de Objetos de Clases y Objetos para m谩s informaci贸n.

No es posible seriar objetos integrados de PHP.

Ejemplo 1. Ejemplo de serialize()

<?php
// $datos_sesion contiene una matriz multi-dimensional con
// informacion del usuario actual. Usamos serialize() para
// almacenarla en una base de datos al final de la peticion.


$con  = odbc_connect("bd_web", "php", "gallina");
$sent = odbc_prepare($con,
      
"UPDATE sesiones SET datos = ? WHERE id = ?");
$datos_sql = array (serialize($datos_sesion), $PHP_AUTH_USER);

if (!
odbc_execute($sent, &$datos_sql)) {
    
$sent = odbc_prepare($con,
     
"INSERT INTO sesiones (id, datos) VALUES(?, ?)");
    if (!
odbc_execute($sent, &$datos_sql)) {
        
/* Algo ha fallado.. */
    
}
}
?>

Vea Tambi茅n: unserialize().