Heim > php教程 > php手册 > 知识宝典:介绍PHP变量串行化存储格式

知识宝典:介绍PHP变量串行化存储格式

WBOY
Freigeben: 2016-06-13 11:04:47
Original
900 Leute haben es durchsucht

PHP还是比较常用的,于是我研究了一下PHP变量串行化,在这里拿出来和大家分享一下,希望对大家有用。串行化大概就是把一些变量转化成为字符串的字节流的形式,这样比较容易传输、存储。当然,关是传输存储没有什么,关键是变成串的形式以后还能够转化回来,而且能够保持原来数据的结构。

串行化大概就是把一些变量转化成为字符串的字节流的形式,这样比较容易传输、存储。当然,关是传输存储没有什么,关键是变成串的形式以后还能够转化回来,而且能够保持原来数据的结构。在PHP中有多串行化处理的函数:serialize(),该函数把任何变量值(除了资源变量)转化为字符串的形式,可以把字符串保存到文件里,或者注册为Session,乃至于使用curl来模拟GET/POST来传输变量,达到RPC的效果。如果要将串行化的变量转化成PHP原始的变量值,那么可以使用unserialize()函数。

PHP变量串行化

我们举简单的例子来说明PHP变量串行化,以及它的存储格式。

整型

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute"><font color="#ff0000">var</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">23</font></span><span>;  </span></span></li>
<li class=""><span>echo serialize($var); </span></li>
</ol>
Nach dem Login kopieren

输出:i:23;

浮点型

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute"><font color="#ff0000">var</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">1</font></span><span>.23;  </span></span></li>
<li class=""><span>echo serialize($var); </span></li>
</ol>
Nach dem Login kopieren

输出:d:1.229999999999999982236431605997495353221893310546875;

字符串

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute"><font color="#ff0000">var</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">"This is a string"</font></span><span>;  </span></span></li>
<li class=""><span>echo serialize($var);  </span></li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">var</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">"我是变量"</font></span><span>;  </span>
</li>
<li class=""><span>echo serialize($var); </span></li>
</ol>
Nach dem Login kopieren

输出:s:16:"This is a string";s:8:"我是变量";

布尔型

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute"><font color="#ff0000">var</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">true</font></span><span>;  </span></span></li>
<li class=""><span>echo serialize($var);  </span></li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">var</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">false</font></span><span>;  </span>
</li>
<li class=""><span>echo serialize($var); </span></li>
</ol>
Nach dem Login kopieren

输出:b:1;b:0;

上面这些基本类型串行化之后的情况很清楚,串行化之后的存储格式是:变量类型:[变量长度:]变量值;就是第一位字符代表变量类型,第二个:代表分割,变量长度是可选的,就是在字符串类型里有,其他类型没有,最后一个就是变量值,每个串行化的值以";"作为结束。


Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage