PHP序列化和反序列化

注:a代表array丽已,s代表string,b代表bool,i代表int瓶盛,數(shù)字代表個數(shù)/長度

序列化:
serialize() 用于序列化對象或數(shù)組,并返回一個字符串示罗。
實(shí)例

<?php
$sites = array('Google', 'Runoob', 'Facebook');
$serialized_data = serialize($sites);
echo  $serialized_data . PHP_EOL;
?>

輸出結(jié)果為:

a:3:{i:0;s:6:"Google";i:1;s:6:"Runoob";i:2;s:8:"Facebook";}

序列化格式:

在PHP中惩猫,序列化用于存儲或傳遞 PHP 的值的過程中,同時不丟失其類型和結(jié)構(gòu)蚜点。

序列化函數(shù)原型如下:

string serialize ( mixed $value )

先看下面的例子:

class CC {
    public $data;
    private $pass;

    public function __construct($data, $pass)
    {
        $this->data = $data;
        $this->pass = $pass;
    }
}
$number = 34;
$str = 'uusama';
$bool = true;
$null = NULL;
$arr = array('a' => 1, 'b' => 2);
$cc = new CC('uu', true);

var_dump(serialize($number));
var_dump(serialize($str));
var_dump(serialize($bool));
var_dump(serialize($null));
var_dump(serialize($arr));
var_dump(serialize($cc));

輸出結(jié)果為:

string(5) "i:34;"
string(13) "s:6:"uusama";"
string(4) "b:1;"
string(2) "N;"
string(30) "a:2:{s:1:"a";i:1;s:1:"b";i:2;}"
string(52) "O:2:"CC":2:{s:4:"data";s:2:"uu";s:8:" CC pass";b:1;}"

所以序列化對于不同類型得到的字符串格式為:

    String : s:size:value;
    Integer : i:value;
    Boolean : b:value;(保存1或0)
    Null : N;
    Array : a:size:{key definition;value definition;(repeated per element)}
    Object : O:strlen(object name):object name:object size:{s:strlen(property name):property name:property definition;(repeated per property)}

反序列化:

unserialize() 用于將通過serialize()函數(shù)序列化后的對象或數(shù)組進(jìn)行反序列化轧房,并返回原始的對象結(jié)構(gòu)。

實(shí)例

<?php
$str = 'a:3:{i:0;s:6:"Google";i:1;s:6:"Runoob";i:2;s:8:"Facebook";}';
$unserialized_data = unserialize($str);
print_r($unserialized_data);
?>

輸出結(jié)果為:

Array
(
    [0] => Google
    [1] => Runoob
    [2] => Facebook
)

eg:a:3{i:0;s:6:"Google";i:1;s:6:"Runoob";i:2;s:8:"Facebook";}

a:3      a數(shù)組中3個元素
i:0      數(shù)組中下標(biāo)為0元素
s:6:"Google"       字符串Google長度為6
i:1      數(shù)組中下標(biāo)為1元素
s:6:"Runoob"      字符串Runoob長度為6
i:2      數(shù)組中下標(biāo)為2元素
s:8:"Facebook"   字符串Facebook長度為8
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绍绘,一起剝皮案震驚了整個濱河市奶镶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脯倒,老刑警劉巖实辑,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異藻丢,居然都是意外死亡剪撬,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門悠反,熙熙樓的掌柜王于貴愁眉苦臉地迎上來残黑,“玉大人,你說我怎么就攤上這事斋否±嫠” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵茵臭,是天一觀的道長疫诽。 經(jīng)常有香客問我,道長旦委,這世上最難降的妖魔是什么奇徒? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮缨硝,結(jié)果婚禮上摩钙,老公的妹妹穿的比我還像新娘。我一直安慰自己查辩,他們只是感情好胖笛,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布网持。 她就那樣靜靜地躺著,像睡著了一般长踊。 火紅的嫁衣襯著肌膚如雪功舀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天之斯,我揣著相機(jī)與錄音日杈,去河邊找鬼。 笑死佑刷,一個胖子當(dāng)著我的面吹牛莉擒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瘫絮,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼涨冀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了麦萤?” 一聲冷哼從身側(cè)響起鹿鳖,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎壮莹,沒想到半個月后翅帜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡命满,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年涝滴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胶台。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡歼疮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出诈唬,到底是詐尸還是另有隱情韩脏,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布铸磅,位于F島的核電站赡矢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏阅仔。R本人自食惡果不足惜济竹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望霎槐。 院中可真熱鬧,春花似錦梦谜、人聲如沸丘跌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闭树。三九已至耸棒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間报辱,已是汗流浹背与殃。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碍现,地道東北人幅疼。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像昼接,于是被迫代替她去往敵國和親爽篷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • JAVA序列化機(jī)制的深入研究 對象序列化的最主要的用處就是在傳遞,和保存對象(object)的時候,保證對象的完整...
    時待吾閱讀 10,837評論 0 24
  • 一慢睡、Python簡介和環(huán)境搭建以及pip的安裝 4課時實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,723評論 0 10
  • 0x00 序列化和反序列化 簡單的理解:序列化就是使用serialize()將對象的用字符串的方式進(jìn)行表示逐工,反序列...
    漏斗社區(qū)閱讀 4,122評論 3 13
  • #天才在左,瘋子在右#極致的偏執(zhí) 靈異的經(jīng)歷 強(qiáng)大的邏輯 淵博的學(xué)識 離奇的存在… 瘋子漂辐?天才泪喊?不想置喙 唯念對每...
    schizophreniabb閱讀 223評論 0 0
  • 室友們都知道,每當(dāng)我一提起我的烏魯木齊髓涯,那這話匣子可就關(guān)不上了袒啼。沒去過大西北的人們都認(rèn)為新疆是個遙遠(yuǎn)而又帶有神秘色...
    大皆閱讀 247評論 1 3