首頁 >後端開發 >php教程 >PHP 序列化與反序列化函數實例詳解

PHP 序列化與反序列化函數實例詳解

不言
不言原創
2018-04-26 15:00:591557瀏覽

這篇文章主要介紹了PHP 序列化和反序列化函數,需要的朋友可以參考下

#序列化與反序列化

把複雜的資料型別壓縮到一個字串中

serialize() 把變數和它們的值編碼成文字形式
unserialize() 恢復原變數 

1 .建立一個$arr數組用於儲存使用者基本信息,並在瀏覽器中輸出查看結果;

#
$arr=array();
$arr['name']='张三';
$arr['age']='22';
$arr['sex']='男';
$arr['phone']='123456789';
$arr['address']='上海市浦东新区';
var_dump($arr);

##輸出結果:

array(5) { 
["name"]=> string(6) "张三" 
["age"]=> string(2) "22" 
["sex"]=> string(3) "男" 
["phone"]=> string(9) "123456789" 
["address"]=> string(21) "上海市浦东新区"
 }

2.將$arr陣列進行序列化賦值給$info字串,並在瀏覽器中輸出檢視結果;

$info=serialize($arr);
var_dump($info);

輸出結果:

string(140) "a:5:{s:4:"name";s:6:"张三";s:3:"age";s:2:"22";s:3:"sex";s:3:"男";s:5:"phone";s:9:"123456789";s:7:"address";s:21:"上海市浦东新区";}"

使用序列化serialize($arr)函數,將數組中元素的鍵和值依照規則順序連接成字串。 a:5標誌序列化為array包含5個鍵值對,s:4標誌內容為字串包含4個字元。


透過序列化我們可以將一些模組化的資料使用字串的形式儲存在資料庫或session等,可以減少創建眾多繁瑣的資料表字段,當然序列化為字串儲存會增加額外的空間,應合理的設計和應用。

3.最後使用unserialize($info)反序列化將字串還原成我們需要的陣列模式;

$zhangsan=unserialize($info);
var_dump($zhangsan);

輸出結果:

array(5) {
["name"]=> string(6) "张三" 
["age"]=> string(2) "22" 
["sex"]=> string(3) "男" 
["phone"]=> string(9) "123456789" 
["address"]=> string(21) "上海市浦东新区" 
}

相關推薦:


PHP序列化與反序列化詳解

php序列化函數serialize與原生方法比較

以上是PHP 序列化與反序列化函數實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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