php序列化函数serialize() 和 unserialize() 与原生函数对比

php中有格式化字符串并转换成数组或对象的好方法,即序列化处理。
有两种序列化变量的方法。

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

  // 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() 函数:

  // 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 等许多其他语言兼容。

注意:对于复杂的对象,某些信息可能会丢失。

以上所述就是本文的全部内容了,希望大家能够喜欢。

php序列化函数serialize() 和 unserialize() 与原生函数对比

郑重声明:本网站发布的内容(图片、视频和文字)以及用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服

发表评论

登录后才能评论