这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
本篇文章主要介绍了 PHP 中的序列化、反序列化操作,可以将一个变量的数据 "转换为" 字符串,目的是将该字符串存储在本地。相反的行为成为反序列化。
数据 (变量) 序列化(持久化)
将一个变量的数据 "转换为" 字符串,但并不是类型转换,目的是将该字符串存储在本地。相反的行为成为反序列化。
流程:
- //序列化
- $str = serialize($r1);
- //保存到本地
- file_put_contents("文本文件路径", $str);
- //从本地取出
- $str2 = file_get_contents("文本文件路径");
- //反序列化为之前的对象
- $v1 = unserialize($str2);
具体实例:
1. 在 xxx1.php 中进行序列化操作
- <?php
- $v1 = 1;
- $v2 = 'abc';
- $v3 = array('a'=>1,'bb'=>2.2,'awd',true);
- $str1 = serialize($v1);
- $str2 = serialize($v2);
- $str3 = serialize($v3);
- //写入文本文件
- file_put_contents('./a1.txt', $str1);
- file_put_contents('./a2.txt', $str2);
- file_put_contents('./a3.txt', $str3);
- ?>
2. 在 xxx2.php 中进行反序列化操作
- <?php
- $s1 = file_get_contents('./a1.txt');
- $s2 = file_get_contents('./a2.txt');
- $s3 = file_get_contents('./a3.txt');
- $var1 = unserialize($s1);
- $var2 = unserialize($s2);
- $var3 = unserialize($s3);
- echo "<br/>var_dump($var1,$var2,$var3)";
- ?>
来源: http://www.phperz.com/article/17/0806/340332.html