PHP의 직렬화 사용 예에 ​​대한 자세한 설명

黄舟
풀어 주다: 2023-03-06 07:58:02
원래의
1294명이 탐색했습니다.

이 기사의 예에서는 PHP의 직렬화 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

기능: 직렬화는 개체를 저장하거나 전송하는 데 사용되며 역직렬화를 통해 개체를 얻습니다.

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. 직렬화 코드

<?php
  require("./Person.class.php");
  $p = new Person(21,"du","man"); //定义Person类对象
  $pString = serialize($p);  //对对象进行串行化
  file_put_contents("./file.txt",$pString);//存到文件里
로그인 후 복사



3. 역직렬화 코드

<?php
  require("./Person.class.php");//反串行化时,也要包含原类
  $pString = file_get_contents("./file.txt");//从文件中取出串行化的值
  $p = unserialize($pString);//进行反串行化
  var_dump($p);  //这个 $p就是之前那个串行化的对象,一样用,但是里面的值被我改了
로그인 후 복사


위는 PHP의 직렬화 사용 예에 ​​대한 자세한 설명입니다. PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!