strval
unset
Variable handling Functions
PHP Manual

# unserialize

(PHP 4, PHP 5)

unserialize — Crea un valor PHP a partir de una representación almacenada

### Descripción

mixed unserialize ( string `$cadena` )

unserialize() toma una variable sencilla seriada y la convierte de vuelta a su valor PHP.

### Lista de parámetros

`cadena`

  La cadena seriada.

  Si la variable que está siendo convertida de vuelta es un objeto, PHP intentará llamar la función miembro __wakeup() (si existe) automáticamente luego de haber recontruido satisfactoriamente el objeto.

  > Note: Directiva unserialize_callback_func
  > Es posible establecer una función-llamada de retorno la cual será llamada si una clase no definida debería ser instanciada durante el proceso de revertir la seriación. (para prevenir que se reciba un object incompleto "__PHP_Incomplete_Class".) Use su php.ini, ini_set() o .htaccess para definir 'unserialize_callback_func'. Cada vez que una clase no definida deba ser instanciada, esta función será llamada. Para deshabilitar esta característica simplemente asigne un valor vacío a este parámetro.

### Valores retornados

El valor convertido es retornado, y puede ser un boolean, integer, float, string, array u object.

En caso de que la cadena pasada no pueda ser procesada para revertir la seriación, se devuelve `FALSE` y un error de tipo E_NOTICE es generado.

### Registro de cambios

Versión | Descripción
--- | ---
4.2.0 | Apareció la directiva unserialize_callback_func.
4.0.0 | Cuando se serializa un objeto, los métodos ya no se pierden. Por favor refiérase a Seriación de Objetos para más información.

### Ejemplos

Example #1 Ejemplo de unserialize()

`<?php
// Aquí usamos unserialize() para cargar los datos de sesión
// provenientes de la cadena seleccionada desde la base de datos en la
// matriz $datos_sesion. Este ejemplo complementa aquél descrito con
// serialize().
$con = odbc_connect("bd_web", "php", "gallina");
$sent = odbc_prepare($con, "SELECT datos FROM sesiones WHERE id = ?");
$datos_sql = array($_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($sent, &$datos_sql) || !odbc_fetch_into($sent, &$tmp)) {
// si la ejecución del comando o la recuperación de datos falla,
// inicializar una matriz vacía
$datos_sesion = array();
} else {
// ahora deberíamos tener los datos seriados en $tmp[0].
$datos_sesion = unserialize($tmp[0]);
if (!is_array($datos_sesion)) {
// algo ha fallado, inicializar una matriz vacía
$datos_sesion = array();
}
}
?>`

Example #2 Ejemplo de unserialize_callback_func

`<?php
$objeto_seriado='O:1:"a":1:{s:5:"valor";s:3:"100";}';
// la directiva unserialize_callback_func está disponible a partir de PHP 4.2.0
ini_set('unserialize_callback_func', 'mi_llamada_de_retorno'); // defina su callback_function
function mi_llamada_de_retorno($nombre_clase)
{
// tan solo incluya un archivo que contenga su definición de clase
// usted recibe $nombre_clase para determinar qué definición de
// clase requiere
}
?>`

### Notes

Warning

`FALSE` es devuelto tanto en el caso de un error como cuando se convierte el valor seriado `FALSE`. Es posible atrapar este caso especial comparando `cadena` con serialize(false) o atrapando el error E_NOTICE generado.

### Ver también

- serialize() - Genera una representación apta para almacenamiento de un valor

strval
unset
Variable handling Functions
PHP Manual