序列化與反序列化
把復(fù)雜的數(shù)據(jù)類型壓縮到一個字符串中
serialize() 把變量和它們的值編碼成文本形式
unserialize() 恢復(fù)原先變量
1.創(chuàng)建一個$arr數(shù)組用于儲存用戶基本信息,并在瀏覽器中輸出查看結(jié)果;
$arr=array(); $arr['name']='張三'; $arr['age']='22'; $arr['sex']='男'; $arr['phone']='123456789'; $arr['address']='上海市浦東新區(qū)'; var_dump($arr);
輸出結(jié)果:
array(5) { ["name"]=> string(6) "張三" ["age"]=> string(2) "22" ["sex"]=> string(3) "男" ["phone"]=> string(9) "123456789" ["address"]=> string(21) "上海市浦東新區(qū)" }
2.將$arr數(shù)組進行序列化賦值給$info字符串,并在瀏覽器中輸出查看結(jié)果;
$info=serialize($arr); var_dump($info);
輸出結(jié)果:
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:"上海市浦東新區(qū)";}"
使用序列化serialize($arr)函數(shù),將數(shù)組中元素的鍵和值按照規(guī)則順序連接成字符串。a:5標志序列化為array包含5個鍵值對,s:4標志內(nèi)容為字符串包含4個字符。
通過序列化我們可以將一些模塊化的數(shù)據(jù)使用字符串的形式存儲在數(shù)據(jù)庫或session等,可以減少創(chuàng)建眾多繁瑣的數(shù)據(jù)表字段,當然序列化為字符串存儲會增加額外的空間,應(yīng)合理的設(shè)計和應(yīng)用。
3.最后使用unserialize($info)反序列化將字符串還原成我們需要的數(shù)組模式;
$zhangsan=unserialize($info); var_dump($zhangsan);
輸出結(jié)果:
array(5) { ["name"]=> string(6) "張三" ["age"]=> string(2) "22" ["sex"]=> string(3) "男" ["phone"]=> string(9) "123456789" ["address"]=> string(21) "上海市浦東新區(qū)" }
以上所述是小編給大家介紹的PHP 序列化和反序列化函數(shù)實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對網(wǎng)站的支持!
【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。