加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-04-08 13:01:28 所属栏目:PHP教程 来源:
导读:这篇文章主要介绍了php序列化函数serialize() 和 unserialize() 与php原生序列化方法对比,有需要的小伙伴可以参考下。php中有格式化字符串并转换成数组或对象的好方法,即序列化处理。有两种序列化变量的方法。以下

这篇文章主要介绍了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; 

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

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

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!