本篇文章主要介紹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 的值。
那麼本篇文章就介紹了關於PHP陣列序列化和反序列化的運算。想了解更多PHP知識,可以關注PHP中文網的PHP影片教學。
以上是什麼是PHP數組序列化和反序列化? (圖文+影片)的詳細內容。更多資訊請關注PHP中文網其他相關文章!