358 of 410 menu

Μέθοδος __unserialize

Η μέθοδος __unserialize καλείται αυτόματα κατά την αποσειριοποίηση ενός αντικειμένου με τη βοήθεια της συνάρτησης unserialize. Ως παράμετρο δέχεται έναν πίνακα με δεδομένα που είχαν προηγουμένως προετοιμαστεί από τη μέθοδο __serialize.

Σύνταξη

public function __unserialize(array $data): void

Παράδειγμα

Ας δημιουργήσουμε μια κλάση με τις μεθόδους __serialize και __unserialize:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function __serialize(): array { return ['name' => $this->name, 'age' => $this->age]; } public function __unserialize(array $data): void { $this->name = $data['name']; $this->age = $data['age']; } public function getInfo() { return $this->name . ', ' . $this->age; } } $user = new User('John', 30); $serialized = serialize($user); $unserialized = unserialize($serialized); echo $unserialized->getInfo(); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

'John, 30'

Παράδειγμα

Χρήση της __unserialize με ιδιωτικές ιδιότητες:

<?php class Product { private $id; private $price; public function __construct($id, $price) { $this->id = $id; $this->price = $price; } public function __serialize(): array { return ['id' => $this->id, 'price' => $this->price]; } public function __unserialize(array $data): void { $this->id = $data['id']; $this->price = $data['price']; } public function getPrice() { return $this->price; } } $product = new Product(123, 99.99); $serialized = serialize($product); $unserialized = unserialize($serialized); echo $unserialized->getPrice(); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

99.99

Δείτε επίσης

  • μέθοδο __serialize,
    που προετοιμάζει το αντικείμενο για σειριοποίηση
  • συνάρτηση serialize,
    που μετατρέπει το αντικείμενο σε συμβολοσειρά
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη