PHP數組序列化和反序列化


PHP序列化在我們實際項目運行過程中是一種非常常見的操作。比如當我們想要將數組值存儲到數據庫時,就可以對數組進行序列化操作,然后將序列化后的值存儲到數據庫中。其實PHP序列化數組就是將復雜的數組數據類型轉換為字符串,這樣就方便數組存庫操作。 我們對PHP數組進行序列化和反序列化操作,主要就用到兩個函數,serialize和unserialize。 一、PHP數組序列化:serialize <?php $data=['PHP','HTML','Java','Python']; echo serialize($data); 這里我們創建了一個簡單的數組變量$data,然后我們通過serialize函數對這個數組進行序列化操作。 echo出來的結果如下:
a:
4:{i:0;s:3:"PHP";i:1;s:4:"HTML";i:2;s:4:"Java";i:3;s:6:"Python";} 我們再給這段序列化后的數據進行解釋,方便新手朋友們了解學習。 a:表示整體的數據類型,這里是array; a:4中的4:表示數組元素的個數; i:表示int,整型; 0:表示數組元素的下標; s:表示string,即數組值的類型; s:3中3:表示數組值的長度。 注:serialize() 返回字符串,此字符串包含了表示 value 的字節流,可以存儲於任何地方。這有利於存儲或傳遞 PHP 的值,同時不丟失其類型和結構。 二、PHP反序列化:unserialize <?php $data=['PHP','HTML','Java','Python']; $str=serialize($data); var_dump(unserialize($str)); 如果我們想要將序列化后的數據轉換為數組,就需要用到unserialize函數。 如上訴代碼,我們將$str變量反序列化后的結果如下圖:
注:unserialize() 是對單一的已序列化的變量進行操作,將其轉換回PHP 的值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM