1. 程式人生 > >筆記:理解PHP陣列的序列化和反序列化

筆記:理解PHP陣列的序列化和反序列化

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

一、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 的值。