数据(变量)序列化(持久化)
将一个变量的数据"转换为"字符串,但并不是类型转换,目的是将该字符串存储在本地。相反的行为成为反序列化。
流程:
1
2
3
4
5
6
7
8
|
//序列化
$str = serialize( $r1 );
//保存到本地
file_put_contents ( "文本文件路径" , $str );
//从本地取出
$str2 = file_get_contents ( "文本文件路径" );
//反序列化为之前的对象
$v1 = unserialize( $str2 );
|
具体实例:
1.在xxx1.php中进行序列化操作
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?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中进行反序列化操作
1
2
3
4
5
6
7
8
9
|
<?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.jianshu.com/p/5559649239c9