Rechercher une fonction PHP

serialize

(PHP 4, PHP 5, PHP 7)

serializeErzeugt eine speicherbare Repräsentation eines Wertes

Beschreibung

serialize ( mixed $value ) : string

Erzeugt eine speicherbare Repräsentation eines Wertes.

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 Sie unserialize().

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Parameter-Liste

value

Der zu serialisierende Wert. serialize() kann mit allen Typen umgehen, ausgenommen mit dem resource-Typ und einigenobject-Typen (siehe Hinweis weiter unten). 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 z.B. letzte "Aufräumaktionen", bevor es serialisiert wird. Ebenso wird die Methode __wakeup aufgerufen, wenn das Objekt mittels unserialize() wiederhergestellt wird.

Hinweis:

Den Namen der privaten Eigenschaften eines Objekts wird der Klassenname vorangestellt; den Namen geschützter Eigenschaften wird ein '*' vorangestellt. Diese vorangestellten Werte werden von Nullbytes umschlossen.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Rückgabewerte

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

Es ist zu beachten, dass dies ein Binärstring ist, der Null-Bytes enthalten kann, und als solcher gespeichert und behandelt werden muss. Zum Beispiel sollte die Ausgabe von serialize() grundsätzlich in einem BLOB- statt einem CHAR- oder TEXT-Feld in einer Datenbank gespeichert werden.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Beispiele

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""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)) {
        
/* Irgendwas ging schief ... */
    
}
}
?>

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Anmerkungen

Hinweis:

Beachte, dass viele eingebaute PHP Objekte nicht serialisiert werden können. Diejenigen mit dieser Eigenschaft implementieren entweder das Serializable Interface oder die magischen __sleep und __wakeup Methoden. Wenn eine eingebaute Klasse nicht mindestens eine dieser Voraussetzungen erfüllt, kann sie nicht verlässlich serialisiert werden.

Es gibt einige historische Ausnahmen dieser Regel, bei denen interne Objekte serialisiert werden konnten, ohne das Interface zu implementieren oder die Methoden offenzulegen. Namentlich ArrayObject vor PHP 5.2.0.

Warnung

Wenn serialize() Objekte serialisiert, ist zwecks größtmöglicher Kompatibilität der führende Backslash nicht im Namen von Klassen in Namensräumen enthalten.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Siehe auch

Finde eine PHP-Funktion

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-function.serialize.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.

Referenzen

  1. Zeigen Sie - html-Dokument Sprache des Dokuments:fr Manuel PHP : http://php.net

Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.

Inhaltsverzeichnis Haut