Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php unserialize 与serialize的用法

php unserialize 与serialize的用法

巴扎黑
巴扎黑asal
2016-11-24 13:58:181522semak imbas

   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();

  其实,这两个函数并不难,只是很多人并不知道什么时候用他,有什么用处,

这个函数最大的用处是,你想要保存复杂的数据类型到文件里或者是数据库里的时候,就可以显现出他的作用来了


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn