(PHP 3 >= 3.0.5, PHP 4, PHP 5)
serialize --
Genera una versione archiviabile del valore
Descrizione
string
serialize ( mixed value )
La funzione serialize() restituisce una stringa contenente
un flusso di bytes rappresentante value che
possa essere archiviato ovunque.
Questo può essere utile per archiviare o passare valori senza
perdere il tipo e la struttura.
Per ottenere il valore dalla stringa serializzata, utilizzare
la funzione unserialize(). La funzione serialize()
gestisce tutti i tipi di variabili tranne il tipo resource.
Possono essere elaborati da serialize() array che
contengano riferimenti a se stessi. Saranno archiviati anche i riferimenti
interni agli array e ai tipi object passati a serialize()
Quando si esegue la serializzazione di oggetti, il PHP cerca di eseguire la funzione
__sleep() prima di cominciare la serializzazione. Questo permette all'oggetto di eseguire
le ultime operazioni di chiusura prima di essere serializzato. Analogamente
quando l'oggetto viene ripristinato la funzione unserialize()
richiama la funzione membro __wakeup().
Nota:
Questa funzione non gira correttamente sino alla versione 4.0.7.
Nota:
Nella versione 3 di PHP si serializzano le proprietà dell'oggetto,
ma non i metodi. Nella versione 4 questa limitazione è stata rimossa, pertanto possono
essere recuperati sia le proprietà sia i metodi. Per maggiori informazioni
vedere la sezione Serializzare oggetti in
Oggetti e Classi.
Non è possibile serializzare gli oggetti predefiniti di PHP.
Esempio 1. Esempio di serialize()
<?php // L'array multi-dimensionale $session_data contiene le informazioni della sessione // per l'utente. Si userà serialize() per memorizzare le informazioni // all'interno di un database alla fine della richiesta..
$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)) { /* Qualcosa è andato storto */ } } ?>
|
|
Vedere anche: unserialize().