標籤:serial highlight man net address 資料 上海 索引值 number
序列化與還原序列化
把複雜的資料類型壓縮到一個字串中
serialize() 把變數和它們的值編碼成文本形式
unserialize() 恢複原先變數
1.建立一個$arr數組用於儲存使用者基本資料,並在瀏覽器中輸出查看結果;
?
| 1234567 |
$arr=array();$arr[‘name‘]=‘張三‘;$arr[‘age‘]=‘22‘;$arr[‘sex‘]=‘男‘;$arr[‘phone‘]=‘123456789‘;$arr[‘address‘]=‘上海市浦東新區‘;var_dump($arr); |
輸出結果:
?
| 1234567 |
array(5) { ["name"]=> string(6) "張三"["age"]=> string(2) "22"["sex"]=> string(3) "男"["phone"]=> string(9) "123456789"["address"]=> string(21) "上海市浦東新區" } |
2.將$arr數組進行序列化賦值給$info字串,並在瀏覽器中輸出查看結果;
?
| 12 |
$info=serialize($arr);var_dump($info); |
輸出結果:
?
| 1 |
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)還原序列化將字串還原成我們需要的數組模式;
?
| 12 |
$zhangsan=unserialize($info);var_dump($zhangsan); |
輸出結果:
?
| 1234567 |
array(5) {["name"]=> string(6) "張三"["age"]=> string(2) "22"["sex"]=> string(3) "男"["phone"]=> string(9) "123456789"["address"]=> string(21) "上海市浦東新區"} |
php序列化與還原序列化