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

Dreama ·
更新时间:2024-09-20
· 930 次阅读

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多种序列化与反序列化的方法PHP的serialize序列化数据以及JSON格式化数据分析总结对比php中的多种序列化php中serialize序列化与json性能测试的示例分析详解PHP序列化反序列化的方法PHP中的串行化变量和序列化对象PHP多种序列化/反序列化的方法详解PHP检测接口Traversable用法详解PHP聚合式迭代器接口IteratorAggregate用法分析PHP迭代器接口Iterator用法分析PHP数组式访问接口ArrayAccess用法分析PHP自定义序列化接口Serializable用法分析



php序列化 serialize PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号