Maison >développement back-end >tutoriel php >Explication détaillée des exemples d'utilisation de la sérialisation en PHP

Explication détaillée des exemples d'utilisation de la sérialisation en PHP

黄舟
黄舟original
2017-02-28 09:25:371353parcourir

Les exemples de cet article décrivent l'utilisation de la sérialisation en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Fonction : la sérialisation est utilisée pour stocker ou transmettre des objets, et l'objet est obtenu par désérialisation.

1. Person.class.php :

<?php
/*
作者 : shyhero
*/
class Person{ //声明一个Person类
  public $age;
  private $name;
  protected $sex;
  public function __construct($age="",$name="",$sex=""){
   $this -> age = $age;
   $this -> name = $name;
   $this -> sex = $sex;
  }
  public function say(){
   return $this -> age." ".$this -> name." ".$this -> sex;
  }
  function __sleep(){ //指定串行化时能提取的成员属性,没有参数,但是必须返回一个数组
   $arr = array("age","name");
   return $arr;
  }
  function __wakeup(){ //指定反串行化时,提取出来的值
   $this -> sex = "woman";
  }
}



2. >

3. Code de désérialisation
<?php
  require("./Person.class.php");
  $p = new Person(21,"du","man"); //定义Person类对象
  $pString = serialize($p);  //对对象进行串行化
  file_put_contents("./file.txt",$pString);//存到文件里





<?php
  require("./Person.class.php");//反串行化时,也要包含原类
  $pString = file_get_contents("./file.txt");//从文件中取出串行化的值
  $p = unserialize($pString);//进行反串行化
  var_dump($p);  //这个 $p就是之前那个串行化的对象,一样用,但是里面的值被我改了
Ce qui précède est une sérialisation en PHP Pour des exemples d'utilisation détaillés, veuillez faites attention au site Web PHP chinois (m.sbmmt.com) pour plus de contenu connexe !



-->

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn