序列化與反序列化
把復雜的數據類型壓縮到一個字符串中
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 序列化和反序列化函數實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。