霍洛霍洛的妹妹:php中serialize和unserialize的用法

来源:百度文库 编辑:九乡新闻网 时间:2024/07/14 16:17:22
   php提供了这么两个函数,一个是序列化serialize,另一个是反序列化unserialize,那么这两个函数到底有什么用处了?
   序列化可以将php中任何数据类型除resource之外序列化成一个字符串,在此,我们以一个对象为例,随便定义一个class
         class vb{
  private $a;
  private $b;
  function __construct($a='peng',$b='luo'){
   $this->a=$a;
   $this->b=$b;
  }
 public function speak(){
  return $this->a.$this->b;
 
  }
 
 }

   $obj=new vb();

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