1. 程式人生 > >理解PHP數組的序列化和反序列化

理解PHP數組的序列化和反序列化

bubuko 技術分享 image 組元 ima 復雜 span ali spa

  當我們想要將數組值存儲到數據庫時,就可以對數組進行序列化操作,然後將序列化後的值存儲到數據庫中。其實PHP序列化數組就是將復雜的數組數據類型轉換為字符串,方便數組存庫操作。對PHP數組進行序列化和反序列化操作,主要就用到兩個函數,serializeunserialize

一、PHP數組序列化:serialize

1 $arr = array(‘PHP‘,‘Java‘,‘Python‘,‘C‘);
2 $result = serialize($arr);
3 echo $result;

運行:

技術分享圖片

a:表示整體的數據類型,這裏是array;

a:4中的4:表示數組元素的個數;

i:表示int,整型;

0:表示數組元素的下標;

s:表示string,即數組值的類型;

s:3中3:表示數組值的長度。

ps: serialize() 返回字符串,此字符串包含了表示 value 的字節流,可以存儲於任何地方。這有利於存儲或傳遞 PHP 的值,同時不丟失其類型和結構。

二、PHP反序列化:unserialize

1 $arr = array(‘PHP‘,‘Java‘,‘Python‘,‘C‘);
2 $result = serialize($arr);
3 var_dump(unserialize($result));

運行:

技術分享圖片

ps: unserialize()

是對單一的已序列化的變量進行操作,將其轉換回PHP 的值。

理解PHP數組的序列化和反序列化