串行化大概就是把一些變量轉化成爲字符串的字節流的形式,這樣比較容易傳輸、存儲。當然,關是傳輸存儲沒有什麼,關鍵是變成串的`形式以後還能夠轉化回來,而且能夠保持原來數據的結構。以下是小編爲大家搜索整理的PHP中串行化用法,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
1. :
*/
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. 串行化代碼
require("./");
$p = new Person(21,"du","man"); //定義Person類對象
$pString = serialize($p); //對對象進行串行化
file_put_contents("./",$pString);//存到文件裏
3. 反串行化代碼
require("./");//反串行化時,也要包含原類
$pString = file_get_contents("./");//從文件中取出串行化的值
$p = unserialize($pString);//進行反串行化