理解PHP數組的序列化和反序列化
阿新 • • 發佈:2018-10-01
bubuko 技術分享 image 組元 ima 復雜 span ali spa
是對單一的已序列化的變量進行操作,將其轉換回PHP 的值。
當我們想要將數組值存儲到數據庫時,就可以對數組進行序列化操作,然後將序列化後的值存儲到數據庫中。其實PHP序列化數組就是將復雜的數組數據類型轉換為字符串,方便數組存庫操作。對PHP數組進行序列化和反序列化操作,主要就用到兩個函數,serialize和unserialize。
一、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數組的序列化和反序列化