萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php序列化函數serialize() 和 unserialize() 與原生函數對比

php序列化函數serialize() 和 unserialize() 與原生函數對比

   這篇文章主要介紹了php序列化函數serialize() 和 unserialize() 與php原生序列化方法對比,有需要的小伙伴可以參考下。

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

  有兩種序列化變量的方法。

  以下示例,使用 serialize() 和 unserialize() 函數:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 // a complex array $myvar = array( 'hello', 42, array(1,'two'), 'apple' );   // convert to a string $string = serialize($myvar);   echo $string; /* prints a: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); /* prints Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two )   [3] => apple ) */

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

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

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

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 // 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); /* prints Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two )   [3] => apple ) */

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

  注意:對於復雜的對象,某些信息可能會丟失。

  以上所述就是本文的全部內容了,希望大家能夠喜歡。

        注< >:更多精彩教程請關注三聯編程

copyright © 萬盛學電腦網 all rights reserved