`
tq02ksu
  • 浏览: 51758 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP 中 json_encode, json_decode, serialize/unserialize 性能比较

 
阅读更多
原文:
http://www.cnblogs.com/mingda/archive/2010/06/07/performance_test_of_php_object_serialization.html
还有
http://hi.baidu.com/snailzzz/blog/item/84e1c450184d497684352419.html

第一个比较的挺单纯,
第二个复杂一点点, 考虑到了复杂程度.

普遍反映json_decode的速度比较差.
我也正在纠结是用哪种方式保存数据. 想来想去.
我把第一个写的程序跑了一下.
下面是我的结果:
json : 190 serialize : 257 json_encode : 0.0481059551239 json_decode : 0.110748052597 serialize : 0.049724817276 unserialize : 0.041111946106 DONE.

从中不难看出, 主要是json_decode vs unserialize  的性能差别太大了.

于是乎我冒出个想法, 用 json_decode ( $str, true), 解码成数组, 性能明显提高, 跟unserialize 差别可以接受了, 如下是解码成数组的结果:
json : 190 serialize : 257 json_encode : 0.0321428775787 json_decode : 0.0567181110382 serialize : 0.0339670181274 unserialize : 0.0277500152588 DONE.

供大家参考.
分享到:
评论

相关推荐

    PHP中json_encode、json_decode与serialize、unserialize的性能测试分析

    通过本次性能测试,我们试图了解在处理大量数据时,json_encode与json_decode与serialize与unserialize相比,其效率如何。实验分别在PHP5.2.13和PHP5.3.2两个不同环境下执行,对同一个变量进行了10000次序列化和反...

    PHP gbk环境下json_dencode传送来的汉字

    6. **性能比较**:在性能方面,序列化(如`serialize`)通常比JSON快,但JSON具有更好的可读性和通用性。在实际应用中,应根据项目需求选择合适的方式。 通过理解这些知识点,开发者可以更好地在PHP的GBK环境下处理...

    PHP 数组和字符串互相转换实现方法.rar

    本文将深入探讨PHP中数组与字符串之间的转换方法。 一、数组转换为字符串 1. `implode()` 函数:`implode()`函数允许我们将数组元素连接成一个字符串,使用指定的分隔符。例如: ```php $array = ['apple', '...

    序列化一个类_php的类的序列化脚本_

    `json_encode()`和`json_decode()`函数分别用于将PHP值转为JSON字符串和将JSON字符串解析为PHP值。 ```php class MyClass { public $var1; public $var2; public function toJson() { return json_encode(get_...

    php语言中使用json的技巧及json的实现代码详解

    PHP从5.2版本开始内置了对JSON的支持,提供了json_encode()和json_decode()两个核心函数,使得在PHP中处理JSON数据变得十分便捷。 1. **json_encode()** json_encode()函数用于将PHP的数据结构(如数组或对象)...

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

    PHP提供了两种主要的序列化方法:`serialize()` 和 `unserialize()` 以及 `json_encode()` 和 `json_decode()`。下面我们将详细探讨这两种方法及其特点。 1. `serialize()` 和 `unserialize()` 函数: - `...

    php-json

    2. **PHP 中的 json_encode 和 json_decode** - `json_encode` 函数是 PHP 处理 JSON 的核心,它接受一个 PHP 变量作为输入,并返回该变量的 JSON 表示形式。例如,一个关联数组可以被编码为 JSON 对象: ```php ...

    PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析

    PHP提供了两种序列化和反序列化的机制,即使用serialize()和unserialize()函数进行PHP特有的序列化与反序列化,以及使用json_encode()和json_decode()函数进行JSON格式的序列化与反序列化。 首先,让我们来分析一下...

    简化版的JSONJSONLite.zip

    $json = json_encode($value); // ATTENTION:encode with json // {"code":"123","msg":"true str","null":null,"new":"","double":1} $value = jsonlite_decode($json); var_export($value); /** * array ( * '...

    php自定义urlencode,urldecode函数实例

    在性能方面,`json_encode`和`json_decode`与`serialize`和`unserialize`相比,通常在处理JSON数据时更快,因为它们是专为JSON格式设计的。但要注意的是,`serialize`和`unserialize`是PHP内部的序列化和反序列化...

    总结对比php中的多种序列化

    在PHP编程中,序列化和反序列化是两个关键的操作,它们允许...通过比较和实践,开发者可以更好地判断何时使用`serialize`/`unserialize`,何时使用`json_encode`/`json_decode`,从而编写出更加高效和灵活的PHP代码。

    PHP和JS字符串处理函数.pdf

    `serialize()`和`unserialize()`是PHP中处理复杂数据结构的工具。`serialize()`将变量转化为可存储的字符串形式,而`unserialize()`能将这个字符串再转换回原生的PHP值。 `json_encode()`和`json_decode()`是PHP...

    解析PHP多种序列化与反序列化的方法

    `serialize`和`unserialize`适合PHP内部使用,`json_encode`和`json_decode`则更适合跨语言的数据交换,而`var_export`和`eval`以及`wddx_serialize_value`和`wddx_deserialize`在特定情况下有其优势。选择哪种方法...

    PHP的serialize序列化数据以及JSON格式化数据分析

    在PHP中,经常使用的序列化方式包括了PHP原生的serialize以及更为通用的JSON格式化。以下是根据给定文件信息,对PHP的serialize序列化和JSON格式化数据分析的知识点进行详细说明。 首先,PHP的serialize函数的作用...

    PHP多种序列化/反序列化的方法详解

    本文将详细讲解PHP中实现序列化和反序列化的多种方法,包括serialize和unserialize、json_encode和json_decode、var_export和eval以及wddx_serialize_value和wddx_deserialize。 1. serialize和unserialize `...

Global site tag (gtag.js) - Google Analytics