序列化
final class db
//填寫需要序列化的屬性,不寫此方法的話,序列化全部屬性
public function __sleep()
private function connectdb()
}$arr = [
'db_host'=>'localhost',
'db_user'=>'root',
'db_pass'=>'root',
]; $obj = new db($arr);
//進行序列化
$str = serialize($obj);
//var_dump($str);//o:2:"db":1:
//存到3.txt中
file_put_contents("3.txt", $str);
3.txt 直接開啟顯示:㩏㨲䐢≢ㄺ箋㩳ㄱ∺䐀b扤桟獯≴猻㤺∺潬慣桬獯≴紻
用sublime開啟顯示:
4f3a 323a 2244 6222 3a31 3a7b 733a 3131
3a22 0044 6200 6462 5f68 6f73 7422 3b73
3a39 3a22 6c6f 6361 6c68 6f73 7422 3b7d
反序列化物件:
final class db
public function __wakeup()
private function connectdb()
}$arr = [
'db_host'=>'localhost',
'db_user'=>'root',
'db_pass'=>'root',
];$str = file_get_contents('3.txt');
$a = unserialize($str);
var_dump($a);
如果沒有weakup()結果是:
object(db)[1]
private 'db_host' => string 'localhost'
(length=9)
private 'db_user' =>
null
private 'db_pass' =>
null
有weakup()結果是:
object(db)[1]
private 'db_host' => string 'localhost'
(length=9)
private 'db_user' => string 'root'
(length=4)
private 'db_pass' => string 'root'
(length=4)
成功的重新構造物件後呼叫__weakup(){}
unseralize()方法呼叫前,首先看看有沒有weekup()函式,有的話進行呼叫。
物件序列化和反序列化
物件序列化有很多方式,在這裡我只講用xml序列化,我們從開始序列化講起,首先,你要在需要被序列化的類前面寫上 serializable 表示該類的例項可以被序列化,其次在要執行序列化的 去中寫入using system.xml.serialization xml序列化必須的 using system...
物件序列化和反序列化
c 提供三種序列化的方法,與此有關的三個類分別是 binaryserialize soapserialize xmlserialize 以二進位制的序列化和反序列化為例,先建立乙個實體類product。1 serializable 2public class product316 17public ...
php序列化和反序列化
把複雜的資料型別壓縮到乙個字串中 serialize 把變數和它們的值編碼成文字形式 unserialize 恢復原先變數 1.建立乙個 arr陣列用於儲存使用者基本資訊,並在瀏覽器中輸出檢視結果 arr array arr name 張三 arr age 22 arr 男 arr phone 12...