首頁  >  文章  >  每日程式設計  >  什麼是PHP數組序列化和反序列化? (圖文+影片)

什麼是PHP數組序列化和反序列化? (圖文+影片)

藏色散人
藏色散人原創
2018-09-30 09:23:284901瀏覽

本篇文章主要介紹PHP陣列序列化和反序列化的相關知識。

PHP序列化在我們實際專案運行過程中是非常常見的操作。例如當我們想要將數組值儲存到資料庫時,就可以對數組進行序列化操作,然後將序列化後的值儲存到資料庫中。其實PHP序列化數組就是將複雜的陣列資料型別轉換為字串,這樣就方便數組存庫操作。

我們將PHP陣列進行序列化和反序列化操作,主要用到兩個函數,serializeunserialize

一、PHP陣列序列化:serialize

<?php
$data=[&#39;PHP&#39;,&#39;HTML&#39;,&#39;Java&#39;,&#39;Python&#39;];
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=[&#39;PHP&#39;,&#39;HTML&#39;,&#39;Java&#39;,&#39;Python&#39;];
$str=serialize($data);
var_dump(unserialize($str));

如果我們想要將序列化後的資料轉換成數組,就需要用到unserialize函數

如上訴代碼,我們將$str變數反序列化後的結果如下圖:

什麼是PHP數組序列化和反序列化? (圖文+影片)

#: unserialize() 是對單一的已序列化的變數進行操作,將其轉換回PHP 的值。

那麼本篇文章就介紹了關於PHP陣列序列化和反序列化的運算。想了解更多PHP知識,可以關注PHP中文網的PHP影片教學

以上是什麼是PHP數組序列化和反序列化? (圖文+影片)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn