Variable handling Funzioni
PHP Manual

unserialize

(PHP 4, PHP 5)

unserialize Crea un valore PHP a partire da una rappresentazione archiviata

Descrizione

mixed unserialize ( string $str )

La funzione unserialize() prende il formato serializzato di una variabile (vedere serialize()) e la riporta al valore PHP.

Elenco dei parametri

str

La stringa serializzata.

Se la variabile da ripristinare è un oggetto, dopo avere ricostruito l'oggetto, il PHP cercherà di eseguire la funzione membro __wakeup() (se esiste).

Nota: Direttiva unserialize_callback_func

E' possibile impostare una funzione di callback che possa essere richiamata se, durante la fase di deserializzazione, occorre istanziare una classe indefinita. (per evitare di ottenere un tipo object incompleto "__PHP_Incomplete_Class".) Per definire il parametro 'unserialize_callback_func' si può agire sul php.ini, o usare ini_set() oppure con .htaccess. Verrà utilizzata questa funzione ogni volta che occorre istanziare una classe indefinita. Per disabilitare questa opzione, lasciare vuota questa impostazione.

Valori restituiti

Il valore convertito è restituito, e può essere un boolean, integer, float, string, array oppure object.

Nel caso in cui la stringa passata non sia deserializzabile la funzione restituisce FALSE e genera un E_NOTICE.

Log delle modifiche

Versione Descrizione
4.2.0 La direttiva unserialize_callback_func è disponibile.

Esempi

Example #1 Esempio di uso di unserialize()

<?php
// In questo esempio si usa unserialize() per caricare i dati nell'array
// $session_data dalla stringa estratta da un database.
// Questo esempio è complementare a quello descritto in serialize().

$conn odbc_connect("webdb""php""chicken");
$stmt odbc_prepare($conn"SELECT data FROM sessions WHERE id = ?");
$sqldata = array($_SERVER['PHP_AUTH_USER']);
if (!
odbc_execute($stmt$sqldata) || !odbc_fetch_into($stmt$tmp)) {
    
// se odbc_execute o odbc_fetch_into generano un errore, si predispone un array vuoto
    
$session_data = array();
} else {
    
// ora abbiamo i dati serializzati in $tmp[0].
    
$session_data unserialize($tmp[0]);
    if (!
is_array($session_data)) {
       
// qualcosa non ha funzionato, si predispone un array vuoto
       
$session_data = array();
    }
}
?>

Example #2 Esempio di unserialize_callback_func

<?php
$serialized_object
='O:1:"a":1:{s:5:"value";s:3:"100";}';

// direttiva unserialize_callback_func disponibile da PHP 4.2.0
ini_set('unserialize_callback_func''mycallback'); // imposta la callback_function

function mycallback($classname
{
    
// includere un file contenente la definizione di classe
    // $classname indica la classe da usare
}
?>

Note

Avviso

FALSE è restituito sia in caso di errore e sia in caso di de-serializzazione del valore FALSE. Questo caso particolare può essere intercettato confrontando str con serialize(false) o rilevando il E_NOTICE generato.

Vedere anche:


Variable handling Funzioni
PHP Manual