serializeインスタンスを文字列に変換し、unserialize()はシーケンス化されたオブジェクトを復元します.

3071 ワード

//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 ''; ?>
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