Heim Backend-Entwicklung PHP-Tutorial PHP串行化(序列化)跟反串行化

PHP串行化(序列化)跟反串行化

Jun 13, 2016 pm 12:54 PM
data index name quot unserialize

PHP串行化(序列化)和反串行化

这个和java的序列话是一样的。只是java要实现Serializable这个空接口。


serialize() 把变量和它们的值编码成文本形式

unserialize() 恢复原先变量

什么情况下需要序列化 
当你想把的内存中的对象写入到硬盘 数据库的时候;
当你想在网络上传送对象的时候;
Nach dem Login kopieren

当把这些序列化的数据放在URL中在页面之间会传递时,需要对这些数据调用urlencode(),以确保在其中的URL元字符进行处理

margic_quotes_gpc和magic_quotes_runtime配置项的设置会影响传递到unserialize()中的数据。
如果magic_quotes_gpc项是启用的,那么在URL、POST变量以及cookies中传递的数据在反序列化之前必须用stripslashes()进行处理: 如果magic_quotes_runtime是启用的,那么在向文件中写入序列化的数据之前必须用addslashes()进行处理,而在读取它们之前则必须用stripslashes()进行处理:


也可用array,把一个数组对象系列化。

<?php class Data{
		var $index;
		var $name;
		
		function __construct($index,$name){
			$this->index = $index;
			$this->name = $name;
		}
	}
	
	$data1 = new Data(1, "hello");
	$data2 = new Data(2, "world");
	$arr = array();
	//用ArrayObject也可以。
	//$arr = new ArrayObject();
	$arr[0] = $data1;
	$arr[1] = $data2;
	$str = serialize($arr);

	
	$file = fopen("tmp.txt", "w");
	fwrite($file, $str);
	fclose($file);

	//$file =fopen("tmp.txt", "r");
	$data = file_get_contents("tmp.txt");
	
	//反序列化得到原来的数组对象。
	$obj = unserialize($data);
	print_r($obj[0]);
	echo $obj[0]->name;
	
?>
Nach dem Login kopieren

tmp.txt的内容为:

a:2:{i:0;O:4:"Data":2:{s:5:"index";i:1;s:4:"name";s:5:"hello";}i:1;O:4:"Data":2:{s:5:"index";i:2;s:4:"name";s:5:"world";}}
Nach dem Login kopieren


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Datei ist index.html? Welche Datei ist index.html? Feb 19, 2024 pm 01:36 PM

index.html stellt die Homepage-Datei der Webseite dar und ist die Standardseite der Website. Wenn ein Benutzer eine Website besucht, wird normalerweise zuerst die Seite index.html geladen. HTML (HypertextMarkupLanguage) ist eine Auszeichnungssprache, die zum Erstellen von Webseiten verwendet wird, und index.html ist ebenfalls eine HTML-Datei. Es enthält die Struktur und den Inhalt einer Webseite sowie Tags und Elemente, die zur Formatierung und zum Layout verwendet werden. Hier ist ein Beispiel für index.html-Code: &lt

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Verwenden Sie die PHP-Funktion unserialize(), um die Deserialisierung zu implementieren Verwenden Sie die PHP-Funktion unserialize(), um die Deserialisierung zu implementieren Jun 27, 2023 am 08:01 AM

Bei der Serialisierung wird eine Datenstruktur oder ein Objekt zur Speicherung, Übertragung oder Darstellung in eine Zeichenfolge konvertiert und umgekehrt eine Zeichenfolge in die ursprüngliche Datenstruktur oder das ursprüngliche Objekt analysiert. In PHP können wir die Funktion serialize() verwenden, um eine Variable in einen String zu serialisieren, und die Funktion unserialize() verwenden, um einen String in eine primitive Datenstruktur oder ein Objekt zu deserialisieren. Dieser Artikel konzentriert sich auf die Verwendung und Vorsichtsmaßnahmen der Funktion PHPunserialize(). 1. Deserialisieren

Welche Daten befinden sich im Datenordner? Welche Daten befinden sich im Datenordner? May 05, 2023 pm 04:30 PM

Der Datenordner enthält System- und Programmdaten, wie z. B. Softwareeinstellungen und Installationspakete. Jeder Ordner im Datenordner stellt einen anderen Typ von Datenspeicherordner dar, unabhängig davon, ob sich die Datendatei auf den Dateinamen „Data“ oder die Dateierweiterung „Benannte Daten“ bezieht Es handelt sich bei allen um vom System oder Programm angepasste Datendateien. Daten sind eine Sicherungsdatei zur Datenspeicherung, die im Allgemeinen mit Meidaplayer, Notepad oder Word geöffnet werden kann.

Eine kurze Analyse der Verwendung von Serialize und Deserialize in PHP Eine kurze Analyse der Verwendung von Serialize und Deserialize in PHP Mar 24, 2023 pm 02:57 PM

PHP ist eine beliebte Programmiersprache, die häufig für die Webentwicklung verwendet wird. Unter diesen sind Serialize und Deserialize zwei sehr nützliche Funktionen, die PHP-Objekte in Strings konvertieren und deserialisieren können.

Was ist ein MySQL-Index? Was ist ein MySQL-Index? Oct 08, 2023 am 11:47 AM

Der Index in MySQL bedeutet Index. Es handelt sich um eine Datenstruktur, die zur Beschleunigung der Abfrage von Datenbanktabellen verwendet wird. Der Index kann mit dem Katalog eines Buches verglichen werden entsprechende Zeilenpositionen, wodurch die Datenbank schneller lokalisiert und darauf zugegriffen werden kann. Die Funktion des Index besteht darin, die Abfrageeffizienz zu verbessern. Bei großen Tabellen kann die Datenbank die gesamte Tabelle zeilenweise durchsuchen Die benötigten Datenzeilen werden schnell in der Reihenfolge gefunden, was die Abfragegeschwindigkeit erheblich verbessert.

Was tun, wenn die MySQL-Ladedaten verstümmelt sind? Was tun, wenn die MySQL-Ladedaten verstümmelt sind? Feb 16, 2023 am 10:37 AM

Die Lösung für die verstümmelten MySQL-Ladedaten: 1. Suchen Sie die SQL-Anweisung mit verstümmelten Zeichen. 2. Ändern Sie die Anweisung in „LOAD DATA LOCAL INFILE „employee.txt“ INTO TABLE EMPLOYEE Zeichensatz utf8;“.

Problem beim Ausführen des PHP-Quellcodes: Indexfehlerlösung Problem beim Ausführen des PHP-Quellcodes: Indexfehlerlösung Mar 09, 2024 pm 09:24 PM

Problem bei der Ausführung des PHP-Quellcodes: Für die Indexfehlerbehebung sind spezifische Codebeispiele erforderlich. PHP ist eine weit verbreitete serverseitige Skriptsprache, die häufig zur Entwicklung dynamischer Websites und Webanwendungen verwendet wird. Allerdings treten beim Ausführen von PHP-Quellcode manchmal verschiedene Probleme auf, darunter auch „Indexfehler“. In diesem Artikel werden einige häufige Ursachen und Lösungen für Indexfehler vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, solche Probleme besser zu bewältigen. Problembeschreibung: Beim Ausführen eines PHP-Programms

See all articles