首頁  >  文章  >  後端開發  >  PHP中的序列化與反序列化操作詳解

PHP中的序列化與反序列化操作詳解

黄舟
黄舟原創
2017-03-22 09:36:541102瀏覽

本篇文章主要介紹了PHP中的序列化、反序列化操作,可以將一個變數的資料"轉換為"字串,目的是將該字符串儲存在本地。相反的行為成為反序列化。

資料(變數)序列化(持久化)

將一個變數的資料"轉換為"字串,但並不是型別轉換,目的是將該字串儲存在本機。相反的行為成為反序列化。
流程:

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

具體實例:

#1.在xxx1.php中進行序列化操作

<?php
$v1 = 1;
$v2 = &#39;abc&#39;;
$v3 = array(&#39;a&#39;=>1,&#39;bb&#39;=>2.2,&#39;awd&#39;,true);
$str1 = serialize($v1);
$str2 = serialize($v2);
$str3 = serialize($v3);

//写入文本文件
file_put_contents(&#39;./a1.txt&#39;, $str1);
file_put_contents(&#39;./a2.txt&#39;, $str2);
file_put_contents(&#39;./a3.txt&#39;, $str3);
?>

2.在xxx2.php中進行反序列化操作

<?php
$s1 = file_get_contents(&#39;./a1.txt&#39;);
$s2 = file_get_contents(&#39;./a2.txt&#39;);
$s3 = file_get_contents(&#39;./a3.txt&#39;);
$var1 = unserialize($s1);
$var2 = unserialize($s2);
$var3 = unserialize($s3);
echo "<br/>var_dump($var1,$var2,$var3)";
?>

以上是PHP中的序列化與反序列化操作詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn