序列化與反序列化
把復(fù)雜的數(shù)據(jù)類型壓縮到一個(gè)字符串中
	serialize() 把變量和它們的值編碼成文本形式
	unserialize() 恢復(fù)原先變量 
1.創(chuàng)建一個(gè)$arr數(shù)組用于儲(chǔ)存用戶基本信息,并在瀏覽器中輸出查看結(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ù)組進(jìn)行序列化賦值給$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標(biāo)志序列化為array包含5個(gè)鍵值對(duì),s:4標(biāo)志內(nèi)容為字符串包含4個(gè)字符。
通過(guò)序列化我們可以將一些模塊化的數(shù)據(jù)使用字符串的形式存儲(chǔ)在數(shù)據(jù)庫(kù)或session等,可以減少創(chuàng)建眾多繁瑣的數(shù)據(jù)表字段,當(dāng)然序列化為字符串存儲(chǔ)會(huì)增加額外的空間,應(yīng)合理的設(shè)計(jì)和應(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ù)實(shí)例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VeVb武林網(wǎng)網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選