php序列化函數serialize與原生方法對比

來源:互聯網
上載者:User
本文主要介紹了php序列化函數serialize() 和 unserialize() 與php原生序列化方法對比。希望對大家有所協助。

php中有格式化字串並轉換成數組或對象的好方法,即序列化處理。
有兩種序列化變數的方法。

以下樣本,使用 serialize() 和 unserialize() 函數:

// a complex array$myvar = array( 'hello', 42, array(1,'two'), 'apple');// convert to a string$string = serialize($myvar);echo $string;/* printsa:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";}*/// you can reproduce the original variable$newvar = unserialize($string);print_r($newvar);/* printsArray(  [0] => hello  [1] => 42  [2] => Array    (      [0] => 1      [1] => two    )  [3] => apple)*/


這是原生的 PHP 序列化方法。

然而,由於 JSON 近年來大受歡迎,PHP5.2 中已經加入了對 JSON 格式的支援。

現在你可以使用 json_encode() 和 json_decode() 函數:


// a complex array$myvar = array( 'hello', 42, array(1,'two'), 'apple');// convert to a string$string = json_encode($myvar);echo $string;/* prints["hello",42,[1,"two"],"apple"]*/// you can reproduce the original variable$newvar = json_decode($string);print_r($newvar);/* printsArray(  [0] => hello  [1] => 42  [2] => Array    (      [0] => 1      [1] => two    )  [3] => apple)*/

這將更為行之有效,尤其與 JavaScript 等許多其他語言相容。

注意:對於複雜的對象,某些資訊可能會丟失。

相關推薦:

php資料的序列化執行個體介紹

PHP 序列化 serialize對象的方法教程

序列化和還原序列化的詳細介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.