(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.