php中序列化和反序列化函式在快照中的使用

2021-08-21 19:11:39 字數 1184 閱讀 3936

**

php中序列化和反序列化函式在快照中的使用

**1.序列化函式

string serialize(mixed $value)

2.反序列化函式

mixed unserialize ( string $str )

簡單例子:

$arr = array(

array('name'

=>

'張三','age'

=>

18),

array('name'

=>

'李四','age'

=>

21),

array('name'

=>

'王武','age'

=>

17));

dump(serialize($arr));

/**結果:

string(153) "a:3:i:1;a:2:i:2;a:2:}"

**/dump(unserialize(serialize($arr)));

/**結果:

array(3)

[1]=> array(2)

[2]=> array(2)

}**/

所謂快照就是把當時的資料資訊做乙個留存,如果以後發生變化就可以拿出當時的留存作為憑證。在商品限時優惠活動中會用到。

具體來說,針對同一件商品,使用者在商家搞活動時下單,就把商品的優惠資訊進行記錄,假如存在條件優惠活動時購買不可以退換,現在已經過了優惠活動的,現在下單的使用者就可以擁有退換服務,優惠活動期間下單的使用者就不存在退換服務,依據就是使用者下單時的快照留存。

實際應用:

/**

* 設定訂單快照

* @param string $params

* @return $this

*/public function setparams($params)

/**資料解析

*/$r['shop'] = unserialize($r['params']);

$r['shop_name'] = $r['shop']['titles'];

$r['shop_image_url'] = $r['shop']['image_url'];

這樣,即使商家刪除了商品資訊也不會受到影響。

php序列化和反序列化

把複雜的資料型別壓縮到乙個字串中 serialize 把變數和它們的值編碼成文字形式 unserialize 恢復原先變數 1.建立乙個 arr陣列用於儲存使用者基本資訊,並在瀏覽器中輸出檢視結果 arr array arr name 張三 arr age 22 arr 男 arr phone 12...

php序列化和反序列化

序列化與反序列化 把複雜的資料型別壓縮到乙個字串中 serialize 把變數和它們的值編碼成文字形式 unserialize 恢復原先變數 1.建立乙個 arr陣列用於儲存使用者基本資訊,並在瀏覽器中輸出檢視結果 arr array arr name 張三 arr age 22 arr 男 arr...

序列化和反序列化 C 序列化與反序列化。

序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...