serialize() と unserialize() については、PHP マニュアルで説明されています。 Serialize — 値の保存可能な表現を生成します シリアライズ — 値の保存可能な表現を生成します unserialize — 保存された表現から PHP 値を作成します unserialize — 保存された表現から PHP 値を作成します 明らかに、「保存された表現」の説明は、保存可能な値に変換された後でも非常に混乱します。 例を通してこれら 2 つの関数の使用法を見てみましょう: リーリー例のオブジェクトを配列などの他の型に変更しても、効果は同じです。 実際、serialize() はオブジェクトや配列などの PHP の変数の値を文字列にシリアル化し、シリアル化された文字列をデータベースやセッションなどの他の場所に保存することができます。など、シリアル化操作によってこれらの値の型と構造が失われることはありません。このようにして、これらの変数のデータは、PHP ページ間、さらには異なる PHP プログラム間で受け渡すことができます。 そして unserialize() はシリアル化された文字列を PHP 値に変換します。 以下は PHP マニュアルからの引用です。上記の例を読むと、次の単語の意味が簡単に理解できるはずです。 シリアル化された文字列を PHP 値に戻すには、unserialize() を使用します。 Serialize() はリソース以外の任意の型を処理できます。それ自体への参照を含む配列を Serialize() することもできます。 Serialize() している配列/オブジェクト内の参照も保存されます。オブジェクトをシリアル化するとき、PHP はシーケンス アクションの前にオブジェクトのメンバー関数 __sleep() の呼び出しを試みます。これにより、オブジェクトがシリアル化される前にクリーンアップ操作を実行できるようになります。同様に、 unserialize() を使用してオブジェクトを復元する場合、 __wakeup() メンバー関数が呼び出されます unserialize() は単一のシリアル化された変数を操作し、それを PHP 値に変換します。返されるのは変換された値で、整数、浮動小数点、文字列、配列、またはオブジェクトのいずれかになります。渡された文字列が逆シリアル化できない場合は FALSE を返します。 |