Maison développement back-end tutoriel php PHP串行化(序列化)跟反串行化

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

Jun 13, 2016 am 11:12 AM
data index name quot unserialize

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

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


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

unserialize() 恢复原先变量

什么情况下需要序列化 当你想把的内存中的对象写入到硬盘 数据库的时候;当你想在网络上传送对象的时候;
Copier après la connexion

当把这些序列化的数据放在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-&gt;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]-&gt;name;	?&gt;
Copier après la connexion

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";}}
Copier après la connexion


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quel fichier est index.html ? Quel fichier est index.html ? Feb 19, 2024 pm 01:36 PM

Quel fichier est index.html ?

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

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

Utilisez la fonction PHP unserialize() pour implémenter la désérialisation Utilisez la fonction PHP unserialize() pour implémenter la désérialisation Jun 27, 2023 am 08:01 AM

Utilisez la fonction PHP unserialize() pour implémenter la désérialisation

Quelles données se trouvent dans le dossier de données ? Quelles données se trouvent dans le dossier de données ? May 05, 2023 pm 04:30 PM

Quelles données se trouvent dans le dossier de données ?

Une brève analyse de l'utilisation de sérialiser et de désérialiser en php Une brève analyse de l'utilisation de sérialiser et de désérialiser en php Mar 24, 2023 pm 02:57 PM

Une brève analyse de l'utilisation de sérialiser et de désérialiser en php

qu'est-ce que l'index MySQL qu'est-ce que l'index MySQL Oct 08, 2023 am 11:47 AM

qu'est-ce que l'index MySQL

Que faire si les données de chargement MySQL sont tronquées ? Que faire si les données de chargement MySQL sont tronquées ? Feb 16, 2023 am 10:37 AM

Que faire si les données de chargement MySQL sont tronquées ?

Les taux d'échec des projets d'IA dépassent 80 % – une étude cite une mauvaise reconnaissance des problèmes et une concentration sur les dernières tendances technologiques parmi les problèmes majeurs Les taux d'échec des projets d'IA dépassent 80 % – une étude cite une mauvaise reconnaissance des problèmes et une concentration sur les dernières tendances technologiques parmi les problèmes majeurs Aug 31, 2024 am 12:59 AM

Les taux d'échec des projets d'IA dépassent 80 % – une étude cite une mauvaise reconnaissance des problèmes et une concentration sur les dernières tendances technologiques parmi les problèmes majeurs

See all articles