ホームページ  >  記事  >  バックエンド開発  >  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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。