筆記:理解PHP陣列的序列化和反序列化
阿新 • • 發佈:2018-12-18
當我們想要將陣列值儲存到資料庫時,就可以對陣列進行序列化操作,然後將序列化後的值儲存到資料庫中。其實PHP序列化陣列就是將複雜的陣列資料型別轉換為字串,方便陣列存庫操作。對PHP陣列進行序列化和反序列化操作,主要就用到兩個函式,serialize和unserialize。
一、PHP陣列序列化:serialize
$arr = array('PHP','Java','Python','C'); $result = serialize($arr); echo $result;
執行:
a:表示整體的資料型別,這裡是array;
a:4中的4:表示陣列元素的個數;
i:表示int,整型;
0:表示陣列元素的下標;
s:表示string,即陣列值的型別;
s:3中3:表示陣列值的長度。
ps: serialize() 返回字串,此字串包含了表示 value 的位元組流,可以儲存於任何地方。這有利於儲存或傳遞 PHP 的值,同時不丟失其型別和結構。
二、PHP反序列化:unserialize
$arr = array('PHP','Java','Python','C'); $result = serialize($arr); var_dump(unserialize($result));
執行:
ps: unserialize() 是對單一的已序列化的變數進行操作,將其轉換回PHP 的值。