PHP中串行化用法

墨辰丷
發布: 2023-03-28 14:52:01
原創
1398 人瀏覽過

這篇文章主要介紹了PHP中串行化用法,結合實例形式分析了php使用serialize與unserialize函數實現串行化與反串行化操作的相關技巧,需要的朋友可以參考下

功能:串行化用於對物件的儲存或傳輸,透過反串行化得到這個物件。

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排序演算法系列之歸併排序詳解

thinkPHP5框架資料庫連貫運算:cache()用法詳情

####### ########

以上是PHP中串行化用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!