php数组序列化与反序列化的方法
墨初 编程开发 468阅读
php脚本中可以将数组进行序列化与反序列化,需要使用php的内置函数 serialize() 与 unserialize()。 serialize() 可以将数组序列化为字符串便于保存到文件或数据库中,unserialize() 函数又可以将序列化的字符串转化为数组。
php 数组序列化的方法
serialize():可以将一个数组进行序列化,返回序列化的字符串。
例:
$arr = array('73so.com','baidu.com','qq.com'); $res = serialize($arr); echo $res; // a:3:{i:0;s:8:"73so.com";i:1;s:9:"baidu.com";i:2;s:6:"qq.com";}
注意:serialize() 序列化为后的字符串,不能修正字符串中的任何东西,否则会造成反序列化失败。
php 反序列化的方法
unserialize():可以 serialize() 序列化的字符串还原为数组。
例:
$str = 'a:3:{i:0;s:8:"73so.com";i:1;s:9:"baidu.com";i:2;s:6:"qq.com";}'; $arr = unserialize($str); var_dump($arr); // array(3) { [0]=> string(8) "73so.com" [1]=> string(9) "baidu.com" [2]=> string(6) "qq.com" }
PS:
1、php与其它程序交换数据时,请勿使用数组序列化与反序列化
2、php保存数组到文件或数组库时,推荐使用数组序列化
3、数组序列化后,请勿修改序列化的字符串