php-resource

PHP Handbuch

serialize

serialize

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

serialize --  Erzeugt eine speicherbare Repräsentation eines Wertes

Beschreibung

string serialize ( mixed value )

serialize() gibt einen String zurück, der eine Byte-Stream-Repräsentation von value enthält, die beliebig gespeichert werden kann.

Diese Funktion dient der Speicherung oder Übergabe von PHP-Werten, ohne dass diese ihren Typ oder ihre Struktur verlieren.

Um eine serialisierte Zeichenkette wieder als PHP-Wert verfügbar zu machen, verwenden Sieunserialize(). serialize() kann mit allen Typen umgehen, ausgenommen mit dem resource-Typ. Sie können sogar Arrays serialisieren, die Referenzen auf sich selbst enthalten. Zirkelbezüge innerhalb des Arrays/Objekts, das Sie serialisieren, werden ebenfalls gespeichert. Alle anderen Referenzen gehen verloren.

Wenn Objekte serialisiert werden, versucht PHP die Methode __sleep() vor der Serialisierung aufzurufen. Dies erlaubt einem Objekt letzte "Aufräumaktionen", bevor es serialisiert wird. Ebenso wird die Methode __wakeup() aufgerufen, wenn das Objekt mittels unserialize() wiederhergestellt wird.

Anmerkung: Dies funktioniert nicht korrekt bis PHP 4.0.7.

Anmerkung: In PHP 3 werden Objekteigenschaften serialisiert, aber die Methoden gehen verloren. Diese Beschränkung wurde in PHP 4 aufgehoben, so dass sowohl Eigenschaften als auch Methoden wiederhergestellt werden können. Bitte lesen Sie den Abschnitt Objekte serialisieren des Kapitels Klassen und Objekte für weitere Informationen.

Es ist nicht möglich PHP-interne Objekte zu serialisieren.

Beispiel 1. serialize()-Beispiel

<?php
// $session_data enthält ein mehrdimensionales Array mit Session-Informationen
// des aktuellen Benutzers. Wir benutzen serialize() um diese Infos am Ende
// der Anfrage in eine Datenbank zu speichern.

$conn = odbc_connect("webdb", "php", "moorhuhn");
$stmt = odbc_prepare($conn,
      
"UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $PHP_AUTH_USER);
if (!
odbc_execute($stmt, &$sqldata)) {
    
$stmt = odbc_prepare($conn,
     
"INSERT INTO sessions (id, data) VALUES(?, ?)");
    if (!
odbc_execute($stmt, &$sqldata)) {
        
/* Irgendwas ging schief ... */
    
}
}
?>

Siehe auch unserialize().



Anmerkungen zum PHP Handbuch
Neue Anmerkung schreiben
 

shophosting



 

Neuzugänge PHP MySQL Tutorials

Joomla! Starterhilfe

Dieses Tutorial begleitet Sie bei dem Einstieg in die Welt von dem CMS Joomla!.

17.01.2012 werninator | Kategorie: MySQL
Objektorientiertes Programmieren

Dieses Tutorial beschreibt sehr gut die Wirkunsweise von objektorientiertes Programmieren. Also bestens geeignet um das objektorientierte Programmieren zu verstehen.

07.12.2010 phpsven | Kategorie: PHP
Tutorials zu Facebook Anwendungen mit PHP

In mehreren Tutorials wird der Zugriff auf Facebook Daten mittels Graph API, FQL und REST API erklärt. Alle Codebeispiele liegen zum Ausprobieren in einem SVN, bzw. github Repository bereit.

06.12.2010 abouttheweb | Kategorie: PHP