Chinaunix

标题: php unserialize 与serialize的用法 [打印本页]

作者: feiyang10086    时间: 2011-09-14 19:43
标题: php unserialize 与serialize的用法
php unserialize 与serialize的用法



Php代码
  1.   php提供了这么两个函数,一个是序列化serialize,另一个是反序列化unserialize,那么这两个函数到底有什么用处了?
  2.    序列化可以将php中任何数据类型除resource之外序列化成一个字符串,在此,我们以一个对象为例,随便定义一个class
  3.   class vb{
  4.    private $a;
  5.    private $b;
  6.    function __construct($a='peng',$b='luo'){
  7.    $this->a=$a;
  8.    $this->b=$b;
  9.      }
  10.   public function speak(){
  11.     return $this->a.$this->b;
  12.   }
  13. }

  14.   $obj=new vb();

  15. 我们将$obj序列化
  16.    $c= serialize($obj);在打印出$c,得到 O:2:"vb":2{s:5:"vba";s:4:"peng";s:5:"vbb";s:3:"luo";}
  17. 我们再将这个字符串反序列化,
  18.   $c=unserialize($c);在打印出来
  19.   print_r($c);
  20.   vb Object ( [a:private] => peng [b:private] => luo )
  21.   此时我们得到的是一个对象,我们可以调用对象里的属性和方法
  22.   echo $c->speak();
  23.   其实,这两个函数并不难,只是很多人并不知道什么时候用他,有什么用处,
  24. 这个函数最大的用处是,你想要保存复杂的数据类型到文件里或者是数据库里的时候,就可以显现出他的作用来了
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2