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) "上海市浦東新區"
}




















免責聲明!

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



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