(PHP 4, PHP 5)
serialize — Generează o reprezentare ce poate fi stocată a unei valori
Generează o reprezentare ce poate fi stocată a unei valori.
Aceasta este utilă pentru păstrarea sau interpretarea valorilor PHP fără a pierde tipul sau structura lor.
Pentru a transforma invers un string serializat într-o valoare PHP, utilizați unserialize().
Valoarea ce trebuie serializată. serialize() prelucrează toate tipurile, cu excepția resource . Puteți chiar aplica serialize() asupra tablourilor ce conțin referințe la sine însele. Referințele circulare din interiorul tabloului/obiectului pe care îl serializați de asemenea vor fi stocate. Orice altă referință va fi pierdută.
La serializarea obiectelor, PHP va încerca să apeleze funcția-membru __sleep înainte de serializare. Aceasta se efectuează pentru a-i permite obiectului să efectueze orice curățiri, etc. înainte de a fi serializat. La fel, când obiectul este restabilit cu ajutorul unserialize() funcția-membru __wakeup este apelată.
Notă: Membrii privați ai obiectului au denumirea clasei prefixată la denumirea membrului; membrii privați au un '*' prefixat la denumirea membrului. Aceste valori prefixate au câte un octet nul din ambele părți.
Întoarce un string conținând reprezentarea value sub formă de byte-stream care poate fi stocată oriunde.
Example #1 Exemplu serialize()
<?php
// $session_data conține un tablou multi-dimensional cu informație despre
// sesiune pentru utilizatorul curent. Vom utiliza serialize() pentru a
// stoca această informație într-o bază de date după încheierea interpelării.
$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn,
"UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata)) {
$stmt = odbc_prepare($conn,
"INSERT INTO sessions (id, data) VALUES(?, ?)");
if (!odbc_execute($stmt, $sqldata)) {
/* Ceva nu este în regulă.. */
}
}
?>
Versiunea | Descriere |
---|---|
4.0.7 | Procesul serializării obiectelor a fost corectat. |
Notă: Nu este posibil de a serializa obiecte încorporate ale PHP.