php 中的序列化函数 serialize(),可以将不能直接存储的数据转换成可以存储的数据,而且不会丢失数据格式。当然php也提供了一个反序列化的函数 unserialize() ,将序列化后的数据再转换为序列化之前的数据以及格式。
php serialize() 序列化函数
serialize():将一些数组或对象不容易存储的数据转换成可以存储的字符串并返回!
语法:
serialize ($value)
参数:$value: 将要被序列化的对象或数组!
示例1:php 序列化一个数组
$arr = array( 'name' => 'mochu', 'age' => '18', 'Host' => 'http://feiniaomy.com', 'aihao' => array('编程','画画','PC') ); $str = serialize($arr); var_dump($str);
打印结果:
string(152) "a:4:{s:4:"name";s:5:"mochu";s:3:"age";s:2:"18";s:4:"Host";s:20:"http://feiniaomy.com";s:5:"aihao";a:3:{i:0;s:6:"编程";i:1;s:6:"画画";i:2;s:2:"PC";}}"
示例2:php序列化一个对象
class A { public $name = 'feiniaomy.com'; public function echo_name() { echo $this->name; } } $a = new A; $str = serialize($a); var_dump($str);
结果:
string(44) "O:1:"A":1:{s:4:"name";s:13:"feiniaomy.com";}"
php unserialize() 反序列化函数
php 中的 unserialize() 函数,可以将已经序列化后的字符串还原成没有序列化之前的数据以及结构!
示例1:php 反序列化对象序列化后的字符串
//这是上面示例中打印的结果,对象参考上面的示例2 $str = 'O:1:"A":1:{s:4:"name";s:13:"feiniaomy.com";}'; $a = unserialize($str); echo $a->echo_name(); // 输出结果:feiniaomy.com
示例2:php 反序列化数组序列化后的字符串
//这是上面示例1中打印的结果 $str = 'a:4:{s:4:"name";s:5:"mochu";s:3:"age";s:2:"18";s:4:"Host";s:20:"http://feiniaomy.com";s:5:"aihao";a:3:{i:0;s:6:"编程";i:1;s:6:"画画";i:2;s:2:"PC";}}'; $arr = unserialize($str); var_dump($arr);
打印结果:
array(4) { ["name"]=> string(5) "mochu" ["age"]=> string(2) "18" ["Host"]=> string(20) "http://feiniaomy.com" ["aihao"]=> array(3) { [0]=> string(6) "编程" [1]=> string(6) "画画" [2]=> string(2) "PC" } }
以上就是php 序列化与反序列化如何使用与作用。不要总是用伤感的眼光去看待自己的过去。过去的已经过去,过去的永远成为历史。无论你过去是怎样的辉煌,怎么样的快乐,也无论你过去是怎样的渺小,怎么样的哀痛!随着时光的流逝,这所有的一切都已经被历史岁所冲淡,甚至烟消云散了。唯一留下的仅是淡淡的回忆。更多关于php 序列化与反序列化如何使用与作用请关注haodaima.com其它相关文章!