本文實例講述了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字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。