In PHP besteht der grundlegende Zweck der Serialisierung und Deserialisierung darin, Objekte oder Arrays in Zeichenfolgen für einfache Datenspeicherung oder Netzwerkübertragung umzuwandeln und umgekehrt. Die Serialisierung wandelt Daten in Zeichenfolgen um, während die Deserialisierung Strings in Originaldatentypen wie Objekte oder Arrays umwandelt.
PHP liefert die Serialize () -Funktion zum Konvertieren von Objekten oder Arrays in Zeichenfolgen. Zum Beispiel:
$data = [
'name' => 'John Doe',
'age' => 30
];
$serialized_data = serialize($data);
Zu diesem Zeitpunkt enthält die Variable $ serialized_data eine Zeichenfolge, die die serialisierten Daten enthält.
Um die serialisierte Zeichenfolge in das ursprüngliche Objekt oder das ursprüngliche Array wiederherzustellen, liefert PHP die Funktion von nieserialize () . Zum Beispiel:
$unserialized_data = unserialize($serialized_data);
var_dump($unserialized_data);
Dadurch wird die ursprüngliche Datenstruktur ausgegeben:
array(2) {
'name' => string(8) "John Doe",
'age' => int(30)
}
In praktischen Anwendungen werden häufig Serialisierung und Deserialisierung verwendet, um Sitzungsdaten zu speichern, um Datenverlust zu vermeiden, nachdem Benutzer den Browser oder die Schaltgeräte geschlossen haben. Sie können Serialize () verwenden, um Sitzungsdaten in der Datenbank zu speichern:
$data = [
'user_id' => 123,
'cart_items' => ['item1', 'item2']
];
$serialized_data = serialize($data);
$_SESSION['saved_data'] = $serialized_data;
Dann kann unverschweigende () die Daten bei Bedarf wiederherstellen:
$serialized_data = $_SESSION['saved_data'];
$data = unserialize($serialized_data);
Sie können jederzeit auf die wiederhergestellten Daten zugreifen:
echo $data['user_id']; // Ausgabe:123
echo $data['cart_items'][0]; // Ausgabe:item1
Durch Serialisierung und Deserialisierung bietet PHP leistungsstarke Datenspeicher- und Übertragungsfunktionen, insbesondere nützlich für die Speicherung und Wiederherstellung von Sitzungsdaten. Durch das Beherrschen dieser Tipps können Sie Sitzungen und Datenspeicherprobleme auf Ihrer Website effizienter behandeln.