Heim >Backend-Entwicklung >PHP-Tutorial >Wie serialisiert PHP Daten?
Meistens müssen wir komplexe Arrays in einer Datenbank oder in Dateien in PHP speichern. Einige Leute verwenden möglicherweise integrierte PHP-Funktionen, um diese Aufgabe zu erfüllen. Ein komplexes Array ist ein Array, das Elemente mehrerer Datentypen oder Arrays enthält.
Wir haben jedoch bereits eine praktische Lösung, um mit dieser Situation umzugehen. Wir müssen keine eigene Funktion schreiben, um komplexe Arrays in formatierte Strings umzuwandeln. Es gibt zwei beliebte Methoden zur Variablenserialisierung. (Empfohlen: PHP-Tutorial)
1. serialize()
2. unserialize()
Mit der Funktion serialize() können wir beliebige Daten in PHP serialisieren. Die Funktion serialize() akzeptiert einen Parameter, bei dem es sich um die Daten handelt, die wir klassifizieren möchten, und gibt eine serialisierte Zeichenfolge zurück.
Das Programm sieht wie folgt aus:
<?php //一个复杂的数组 $myvar = array( 'hello', 42, array(1, 'two'), 'apple' ); // 转换成字符串 $string = serialize($myvar); // 打印序列化的数据 echo $string; ?>
Ausgabe:
a:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i: 0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";}
Aus dem obigen Code erhalten wir eine Variable $string mit serialisierten Daten. Wir können die Funktion unserialize() verwenden, um den Wert einer Variablen zu deserialisieren, um den ursprünglichen Wert des komplexen Arrays $myvar zurückzugeben.
Beispiel für die Funktionen serialize() und unserialize():
<?php // 一个复杂的数组 $myvar = array( 'hello', 42, array(1, 'two'), 'apple' ); // 序列化上述数据 $string = serialize($myvar); // 反序列化$string中的数据 $newvar = unserialize($string); // 打印未序列化的数据 print_r($newvar); ?>
Ausgabe:
Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple )
Dies ist die native PHP-Serialisierungsmethode. Da JSON jedoch in den letzten Jahren so beliebt geworden ist, haben sie beschlossen, in PHP 5.2 Unterstützung dafür hinzuzufügen. Jetzt können Sie Daten in PHP mit den Funktionen json_encode() bzw. json_decode() serialisieren und deserialisieren.
Da es sich beim JSON-Format nur um Text handelt, kann er problemlos an oder vom Server gesendet und von jeder Programmiersprache als Datenformat verwendet werden.
Sehen wir uns an, wie man json_encode() in PHP verwendet :
<?php // 一个复杂的数组 $myvar = array( 'hello', 42, array(1, 'two'), 'apple' ); // 序列化数据 $string = json_encode($myvar); // 打印序列化的数据 echo $string; ?>
Ausgabe:
["hello",42,[1,"two"],"apple"]
Wir können json_decode() Die Funktion dekodiert die im obigen Programm kodierten Daten, um das ursprüngliche komplexe Array zu erhalten.
Das Programm sieht wie folgt aus:<?php // 一个复杂的数组 $myvar = array( 'hello', 42, array(1, 'two'), 'apple' ); // 序列化数据 $string = json_encode($myvar); // 解码上面编码的字符串 $newvar = json_decode($string); // 打印解码后的数据 print_r($newvar); ?>Ausgabe:
Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple )
Das obige ist der detaillierte Inhalt vonWie serialisiert PHP Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!