phpシーケンス化反serialize()シーケンス化unserialize()

1058 ワード

すべてのphpの値は、関数serialize()を使用してバイトストリームを含む文字列を返して表すことができます.unserialize()関数は、文字列をphpの元の値に戻すことができます.オブジェクトをシーケンス化すると、オブジェクトのすべての変数が保存されますが、オブジェクトのメソッドは保存されず、クラスの名前のみが保存されます.
シーケンス化:serialize()
例:
 $a = array('dahei','huahua','a'); 
 $fruit = serialize($a); 
 echo $fruit;

   a:3:{i:0;s:5:"dahei";i:1;s:6:"huahau";i:2;s:1:"a";}
a:全体のデータ型を表します.ここではarrayです.
a:3の3:配列要素の個数を表す.
i:int、整数を表す;
i:0:0は配列要素の下付きを表す.
s:string、すなわち配列値のタイプを表す.
s:5:5は配列値の長さを表します.
注意:serialize()は、valueを表すバイトフローを含む文字列を返します.どこにでも格納できます.これは、PHPの値を格納または転送するのに役立ち、そのタイプと構造を失わない.
逆シーケンス化:unserialize()
列:
     $a = array('dahei','huahua','a');
     $fruit = serialize($a);
     var_dump(unserialize($fruit));
     array()(size=3)
     0=>string 'dahei' (length=5)
    1=>string 'huahua' (length=6)
    2=>string 'a' (length=1)
注意:unserialize()は、単一のシーケンス化された変数を操作し、PHPの値に変換します.