マニュアル内の原文と要約:
PHP関数のserialize()とunserialize()の説明とケース。シリアル化された文字列を PHP 値に変換するには、unserialize() を使用します。 Serialize() はリソース以外の任意の型を処理できます。それ自体への参照を含む配列を Serialize() することもできます。 Serialize() している配列/オブジェクト内の参照も保存されます。
Serialize() は、値を表すバイト ストリームを含む文字列を返し、どこにでも保存できます。これにより、型や構造を失うことなく、PHP 値の保存や受け渡しが容易になります。
シリアル化された文字列を PHP 値に変換するには、unserialize() を使用します。 Serialize() はリソース以外の任意の型を処理できます。それ自体への参照を含む配列を Serialize() することもできます。 Serialize() している配列/オブジェクト内の参照も保存されます。
オブジェクトをシリアル化するとき、PHP はシーケンス アクションの前にオブジェクトのメンバー関数 __sleep() の呼び出しを試みます。これにより、オブジェクトがシリアル化される前にクリーンアップ操作を実行できるようになります。同様に、unserialize() を使用してオブジェクトが復元されると、__wakeup() メンバー関数が呼び出されます。
注: PHP 3 では、オブジェクトのプロパティはシリアル化されますが、メソッドは失われます。 PHP 4 ではこの制限がなくなり、プロパティとメソッドの両方を保存できるようになりました。詳細については、「クラスとオブジェクト」の「シリアル化されたオブジェクト」セクションを参照してください。
PHPマニュアルのserialize()とunserialize()の説明は次のとおりです:
Serialize — 値の保存可能な表現を生成します
シリアライズ — 値の保存可能な表現を生成します
unserialize — 保存された表現から PHP 値を作成します
unserialize — 保存された表現から PHP 値を作成します
シリアライズ、「直列化、連続化」と訳され、通常は「シリアル化」と呼ばれます
この関数は、特に unserialize と一緒に使用すると非常に便利です
データをデータベースに保存する場合やファイルに記録する場合の方が便利だと思います
もちろん、この種のデータは比較的複雑である必要があり (複雑ではなく、シリアル化する必要はありません。少なくとも配列でなければならないと思います)、データベース内の「インデックスまたは主キー」ではない必要があります。もちろん、このデータベースフィールドはシステム内にあることが最善であり、検索プログラムとは何の関係もありません。もちろん、特定のデータは暗号化または変更されていないため、シリアル化後のデータも検索できます
例: (オブジェクトについて話すだけで、残りは簡単です)
CPersonal.php
[php]
クラスの人
{
公開 $age
関数 __construct($age)
{
$this->age=$age
}
関数 walk()
{
echo 「歩いています...!」;
}
}
?>
[html]
セッション開始();
include_once './Cperson.php'
;
$person=新しい人(22);
$b=シリアル化($person);
$_SESSION["オブジェクト"]=$b;
?>
test1.php アクセスオブジェクト
[php]
セッション開始();
include_once './Cperson.php'
$a=アンシリアライズ($p);
$a->walk();
エコー $a-> 年齢
?>
http://www.bkjia.com/PHPjc/477998.html
www.bkjia.com
http://www.bkjia.com/PHPjc/477998.html