Funcții de gestionare a variabilelor
PHP Manual

unserialize

(PHP 4, PHP 5)

unserialize Creează o valoare PHP dintr-o reprezentare stocată

Descrierea

mixed unserialize ( string $str )

unserialize() preia o singură variabilă serializată și o convertește invers într-o valoare PHP.

Parametri

str

String-ul serializat.

Dacă variabila ce se deserializează este un obiect, după ce se reconstituie cu succes, PHP automat va încerca să apeleze funcția-membru __wakeup() (dacă aceasta există).

Notă: directiva unserialize_callback_func

Este posibil de a stabili o funcție de apel invers ce se va apela când o clasă nedefinită trebuie instanțiată în timpul deserializării. (pentru a preveni obținerea unui object incomplet "__PHP_Incomplete_Class".) Utilizați php.ini, ini_set() sau .htaccess pentru a defini 'unserialize_callback_func'. De fiecare dată când o clasă nedefinită va trebui instanțiată, această funcție va fi apelată. Pentru a dezactiva această facilitate lăsați această opțiune vidă.

Valorile întoarse

Valoarea convertită este întoarsă, și poate fi de tip boolean, integer, float, string, array sau object.

În caz că string-ul furnizat nu poate fi deserializat se va întoarce FALSE și se va emite o eroare E_NOTICE.

Istoria schimbărilor

Versiunea Descriere
4.2.0 Directiva unserialize_callback_func a devenit disponibilă.

Exemple

Example #1 Exemplu unserialize()

<?php
// Aici vom utiliza unserialize() pentru a încărca datele sesiunii în tabloul
// $session_data din string-ul selectat dintr-o bază de date.
// Acest exemplu îl complementează pe cel descris în funcția 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)) {
    
// dacă execute sau fetch eșuează, se inițializează un tablou vid
    
$session_data = array();
} else {
    
// acum trebuie să avem datele serializate în $tmp[0].
    
$session_data unserialize($tmp[0]);
    if (!
is_array($session_data)) {
        
// ceva nu este în regulă, inițializează într-un tablou vid
        
$session_data = array();
    }
}
?>

Example #2 Exemplu unserialize_callback_func

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

// directiva unserialize_callback_func este disponibilă începând cu PHP 4.2.0
ini_set('unserialize_callback_func''mycallback'); // stabilește funcția de apel invers

function mycallback($classname)
{
    
// doar includeți un fișier ce conține definiția clasei
    // veți lăsa ca $classname să-și dea seama care definiție a clasei este necesară
}
?>

Note

Avertizare

FALSE este întors atât în cazul unei erori, cât și în cazul deserializării unei valori FALSE serializate. Este posibil de a intercepta acest caz special comparând str cu serialize(false) sau interceptând eroarea E_NOTICE emisă.

Vedeți de asemenea


Funcții de gestionare a variabilelor
PHP Manual