物件也是一種在記憶體中儲存的資料型別,他的壽命通常隨著生成該物件的程式的終止而終止。有時候可能需要把物件的狀態儲存下來,需要時再將其回覆。序列化是把每個物件轉化為二進位制字串。
<?php class person
function say()
function run()
//序列化的時候自動呼叫,成員$***被忽略,只序列$name,$age
function __sleep()
//反序列化時自動呼叫
function __wakeup()
}class student extends person
function study()
}class teacher extends student
//如果呼叫了不存在的方法,將會自動呼叫__call(),不會報錯
function __call($fwww.cppcns.comunctionname,$args)
}$teacher1 = new teacher("kaifu","男",22);
$teacher1->school = "edu";
$teacher1->wage = 4000;
$teacher1->say();
$teachewww.cppcns.comr1->study();
$teacher1->teaching();
$teacher1->hello(1,2,3);
?>
<?php require_once 'person.php';
$teacher = new teacher("tom","男",22);
$teacher_str = serialize($teacher);
file_put_contents("file.txt", $teacher_str);
//反序列化
$objstr = file_get_contents("file.txt");
$t = unserialize($objstr);
echo $t->age;
?>
序列化 file.txt :
o:7:"teacher":2:
php序列化與反序列化
php的序列化 反序列化對與一些大檔案的壓縮操作,讀寫操作十分有用。乙個簡單的序列化案例 同時用到了序列化與反序列化函式,二者在被呼叫時會分別自己呼叫對應的函式,sleep 以及 wakeup.sleep和 wakeup練習題 故事 乙個果農生產了很多水果種類,於是需要把乙個買家指定的種類寄給他,生...
php 序列化與反序列化
序列化 反序列化序列化 例一class user number 66 str jerry bool true null null arr array a 1,b 2 user new user tom true var dump serialize number var dump serialize...
php序列化與反序列化
jarvisoj上的一道題 是關於php序列化以及反序列化引起的問題,我看 wp大神的wp 題目給直接給出了源 這句話是關鍵,漏洞產生在php serialize和php解析方式上。如果我們通過php serialize的方式構造序列化語句,然後通過php的方式解析序列化語句,就會出現問題。原因是在...