ホームページ >バックエンド開発 >PHPチュートリアル >ナレッジ コレクション: PHP 変数シリアル化ストレージ形式の概要_PHP チュートリアル

ナレッジ コレクション: PHP 変数シリアル化ストレージ形式の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:27:48824ブラウズ

PHP はまだ比較的一般的に使用されているため、PHP 変数のシリアル化について研究し、ここで皆さんに共有したいと思います。シリアル化とは、おそらく、いくつかの変数を文字列のバイト ストリームに変換することで、送信と保存が容易になります。もちろん、送信や保存とは何の関係もありません。重要なのは、文字列形式に変換し直すことができ、元のデータ構造を維持できることです。

シリアル化とは、おそらく、いくつかの変数を文字列のバイト ストリームに変換することで、送信と保存が容易になります。もちろん、送信や保存とは何の関係もありません。重要なのは、文字列形式に変換し直すことができ、元のデータ構造を維持できることです。 PHP には、serialize() という複数のシリアル化関数があります。この関数は、任意の変数値 (リソース変数を除く) を文字列の形式に変換することができ、文字列をファイルに保存したり、セッションとして登録したり、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>

出力: 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>

出力: d: 1.2299999999999999822364316059974953532218 9331054 6875;

文字列:

<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>

出力: s:16:" これは文字列";s:8:"私は変数です";

Boolean:

<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>

Output: b:1;b:0;

上記の基本型のシリアル化後の状況は非常に明確です。シリアル化後の格納形式は次のとおりです: 変数タイプ: [可変長:] 変数値; 最初の文字は変数タイプを表し、2 番目の文字は除算を表します。変数長はオプションです。つまり、文字列タイプでは Yes ですが、それ以外は指定できません。最後の値は変数値であり、シリアル化された各値は「;」で終わります。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446492.html技術記事 PHP はまだ比較的一般的に使用されているため、PHP 変数のシリアル化を研究し、ここで共有します。皆さんのお役に立てれば幸いです。シリアル化では、いくつかの変数を大まかに変換しています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。