serializeインスタンスを文字列に変換し、unserialize()はシーケンス化されたオブジェクトを復元します.
//serialize.php//クラスclass dog{var$name;var$age;var$owner;function dog($in_name="unnamed"、$in_age="0"、$in_owner="unknown"){$this->name=$in_name;$this->age=$in_age;$this->owner=$in_owner; } function getage() { return ($this->age * 365); }
function getowner() { return ($this->owner); }
function getname() { return ($this->name); }}//このクラス$ourfirstdog=new dog("Rover",12,"Lisa and Graham");var_dump($ourfirstdog);//このインスタンスをserialize関数でシーケンス化された文字列$dogdisc=serialize($ourfirstdog)に変換します.print $dogdisc;//$ourfirstdogは文字列O:3:「dog」:3:{s:4:「name」;s:5:「Rover」;s:3:「age」;i:12;s:5:「owner」;s:15:「Lisa and Graham」;print '';/* ----------------------------------------------------------------------- ここでは、session、cookie、データベース、phpファイルなどの文字列$dogdiscをどこにでも格納できます.echo '';/*復元操作*/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------phpファイル--------------------------------------------------------*///ここでは、シーケンス化されたオブジェクト$pet=unserialize($dogdisc)をunserialize()で復元します.//このときの$petはすでに前の$ourfirstdogオブジェクトですvar_dump($pet);//年齢と名前のプロパティ$old=$pet->getage()を取得します.$name = $pet->getname();//このクラスはインスタンス化を必要とせずに使用でき、属性と値はシーケンス化前の状態print「Our first dog is called$name and is$old days old」に維持されます.print ''; ?>
O:3:"dog":3:{s:4:"name";s:5:"Rover";s:3:"age";i:12;s:5:"owner";s:15:"Lisa and Graham";}
Our first dog is called Rover and is 4380 days old
function getowner() { return ($this->owner); }
function getname() { return ($this->name); }}//このクラス$ourfirstdog=new dog("Rover",12,"Lisa and Graham");var_dump($ourfirstdog);//このインスタンスをserialize関数でシーケンス化された文字列$dogdisc=serialize($ourfirstdog)に変換します.print $dogdisc;//$ourfirstdogは文字列O:3:「dog」:3:{s:4:「name」;s:5:「Rover」;s:3:「age」;i:12;s:5:「owner」;s:15:「Lisa and Graham」;print '';/* ----------------------------------------------------------------------- ここでは、session、cookie、データベース、phpファイルなどの文字列$dogdiscをどこにでも格納できます.echo '';/*復元操作*/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------phpファイル--------------------------------------------------------*///ここでは、シーケンス化されたオブジェクト$pet=unserialize($dogdisc)をunserialize()で復元します.//このときの$petはすでに前の$ourfirstdogオブジェクトですvar_dump($pet);//年齢と名前のプロパティ$old=$pet->getage()を取得します.$name = $pet->getname();//このクラスはインスタンス化を必要とせずに使用でき、属性と値はシーケンス化前の状態print「Our first dog is called$name and is$old days old」に維持されます.print ''; ?>
object(dog)[1]
public 'name' => 'Rover' (length=5)
public 'age' => 12
public 'owner' => 'Lisa and Graham' (length=15)
O:3:"dog":3:{s:4:"name";s:5:"Rover";s:3:"age";i:12;s:5:"owner";s:15:"Lisa and Graham";}
object(dog)[1]
public 'name' => 'Rover' (length=5)
public 'age' => 12
public 'owner' => 'Lisa and Graham' (length=15)
Our first dog is called Rover and is 4380 days old