phpのserialize()とunserialize()の使用法についての簡単な説明_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:09:17
オリジナル
699 人が閲覧しました

PHP マニュアルでの Serialize() と unserialize() の説明は次のとおりです。
serialize — 値の保存可能な表現を生成します
serialize — 保存可能な値の表現を生成します
unserialize — 保存された表現から PHP 値を作成します
unserialize —保存された表現から PHP 値を作成する
明らかに、「保存された表現」の説明は、保存可能な値に変換された後でも依然として非常にわかりにくいです。
言語を明確に表現できない場合は、特定の PHP の例を使用してこれら 2 つの関数の使用方法を学習できます

コードをコピーします コードは次のとおりです:

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 を返します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327345.html技術記事 PHP マニュアルでの Serialize() と unserialize() の説明は次のとおりです。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!