php 序列化反serialize(),序列化unserialize()

所有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 的值。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章