Actipro CodeHighlighter によって生成されたコードの強調表示 (フリーウェア)http://www.CodeHighlighter.com/-->//クラスを宣言します
class Dog {
var $name;
var $age;
var $owner;
function Dog($ in_name="unnamed",$in_age="0",$in_owner="unknown") {
;
}
function getage() {
return ($this->age * 365);
}
関数 getowner () {
return ($this->owner);
}
function getname () {
return ($this->name);
$ourfirstdog = 新しい犬("Rover",12,"Lisa and Graham");
//serialize 関数を使用して、このインスタンスはシリアル化された文字列に変換されます
$dogdisc =serialize($ourfirstdog);
print $dogdisc;文字列 O:3:"dog":3:{s:4: "name";s:5:"Rover";s:3:"age";i:12;s:5:"owner にシリアル化されています";s:15:"リサとグラハム";}
print '
';
/*
---------------------- ------------------------ ------------------------ --
ここでは、文字列 $dogdisc をセッション、Cookie、データベース、PHP ファイルなどの任意の場所に保存できます
--------------------------- ---------------------- -----------------------
*/
/ /ここでこのクラスの登録を解除します
unset($ourfirstdog);
/* 操作を復元します */
/ *
------------------------------------- ---------------------- -----------------------
ここで、読んでください。セッション、Cookie、データベース、PHP ファイルなど、保存場所からの文字列 $dogdisc
-- ---------------------------- ---------------------- -------------------
*/
//アンシリアライズを使用します() ここでシリアル化されたオブジェクトを復元します
$pet = unserialize($dogdisc); // この時点で、$pet はすでに前の $ourfirstdog オブジェクトです
// age 属性と name 属性を取得します
$old = $pet-> ;getage();
$name = $pet->getname();
// このクラスは現時点ではインスタンス化せずに使い続けることができ、属性や値はシリアル化前の状態のままです
print "私たちの最初の犬は $name と呼ばれ、$old days です
";
print '< BR>';
?>
例のオブジェクトを配列などの他の型に変更することもでき、効果は同じです。
実際、serialize() は、オブジェクトや配列などの PHP の変数の値を文字列にシリアル化し、それらをデータベースやセッションなどの他の場所に保存することができます。など、シリアル化操作によってこれらの値の型と構造が失われることはありません。このようにして、これらの変数のデータは、PHP ページ間、さらには異なる PHP プログラム間で受け渡すことができます。
そして unserialize() は、シリアル化された文字列を PHP 値に変換します。
これは PHP マニュアルからの引用です。上記の例を読むと、次の単語の意味が簡単に理解できるはずです。
シリアル化された文字列を PHP 値に戻したい場合は、 unserialize( を使用できます。 )。 Serialize() はリソース以外の任意の型を処理できます。それ自体への参照を含む配列を Serialize() することもできます。 Serialize() している配列/オブジェクト内の参照も保存されます。
オブジェクトをシリアル化するとき、PHP はシーケンス アクションの前にオブジェクトのメンバー関数 __sleep() の呼び出しを試みます。これにより、オブジェクトがシリアル化される前にクリーンアップ操作を実行できるようになります。同様に、unserialize() を使用してオブジェクトを復元する場合、__wakeup() メンバー関数
unserialize() が呼び出され、単一のシリアル化された変数を操作し、それを PHP 値に変換します。返されるのは変換された値で、整数、浮動小数点、文字列、配列、またはオブジェクトのいずれかになります。渡された文字列が逆シリアル化できない場合は FALSE を返します。
http://www.bkjia.com/PHPjc/327345.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/327345.html技術記事 PHP マニュアルでの Serialize() と unserialize() の説明は次のとおりです。