首页 > PHP教程 > php开发知识文章

PHP 数据的序列化和反序列化的操作方法

本文主要介绍了PHP 数据的序列化和反序列化的操作方法,

即将一个变量的数据转换为字符串,目的是将该字符串存储在本地。相反的操作即为反序列化。

serialize函数

serialize() 返回值为字符串,字符串包含了表示变量的字节流,能存储于任何地方。

 

这样有利于存储或传递 PHP 的值,同时不丢失其类型和结构。

serialize函数

 

数据(变量)序列化(持久化)

将一个变量的数据"转换为"字符串,但并不是类型转换,目的是将该字符串存储在本地。

//序列化
$str = serialize($r1);
//保存到本地
file_put_contents("文本文件路径", $str);
//从本地取出
$str2 = file_get_contents("文本文件路径");
//反序列化为之前的对象
$v1 = unserialize($str2);

实例:

1.在a1.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.在a2.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)";

以上就是本文PHP 数据的序列化和反序列化的操作方法的全部内容,希望对大家的学习有所帮助。

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。