En PHP, l'objectif de base de la sérialisation et de la désérialisation est de convertir des objets ou des tableaux en chaînes pour un stockage de données ou une transmission de réseau facile, et vice versa. La sérialisation convertit les données en chaînes, tandis que la désérialisation convertit les cordes en types de données d'origine, tels que des objets ou des tableaux.
PHP fournit la fonction Serialize () pour convertir des objets ou des tableaux en chaînes. Par exemple:
$data = [
'name' => 'John Doe',
'age' => 30
];
$serialized_data = serialize($data);
À ce stade, la variable $ serialized_data contiendra une chaîne contenant les données sérialisées.
Pour restaurer la chaîne sérialisée dans l'objet ou le tableau d'origine, PHP fournit la fonction Unserialize () . Par exemple:
$unserialized_data = unserialize($serialized_data);
var_dump($unserialized_data);
Cela sortira la structure de données d'origine:
array(2) {
'name' => string(8) "John Doe",
'age' => int(30)
}
Dans les applications pratiques, la sérialisation et la désérialisation sont souvent utilisées pour enregistrer les données de session afin d'éviter la perte de données après que les utilisateurs ferment le navigateur ou les appareils de commutation. Vous pouvez utiliser Serialize () pour enregistrer les données de session dans la base de données:
$data = [
'user_id' => 123,
'cart_items' => ['item1', 'item2']
];
$serialized_data = serialize($data);
$_SESSION['saved_data'] = $serialized_data;
Ensuite, Unserialize () peut restaurer les données en cas de besoin:
$serialized_data = $_SESSION['saved_data'];
$data = unserialize($serialized_data);
Vous pouvez accéder aux données récupérées à tout moment:
echo $data['user_id']; // Sortir:123
echo $data['cart_items'][0]; // Sortir:item1
Grâce à la sérialisation et à la désérialisation, PHP fournit des fonctions de stockage et de transmission de données puissantes, particulièrement utiles dans le stockage et la récupération des données de session. La maîtrise de ces conseils vous aidera à gérer plus efficacement les problèmes de séances et de stockage de données dans votre site Web.