• 技术文章 >php教程 >PHP源码

    PHP中json_encode、json_decode与serialize、unserialize

    2016-06-08 17:26:51原创606

    json_encode和json_decode的效率并没有比serialize和unserialize的效率高,在反序列化的时候性能相差两倍左右,PHP 5.3执行效率比PHP 5.2略有提升。

    代码如下 复制代码


    $target = array (
    'name' => '全能头盔',
    'quality' => 'Blue',
    'ti_id' => 21302,
    'is_bind' => 1,
    'demand_conditions' =>
    array (
    'HeroLevel' => 1,
    ),
    'quality_attr_sign' =>
    array (
    'HeroStrength' => 8,
    'HeroAgility' => 8,
    'HeroIntelligence' => 8,
    ),
    );
    $json = json_encode($target);
    $seri = serialize($target);
    echo "json : " . strlen($json) . " ";
    echo "serialize : " . strlen($seri) . " ";
    $stime = microtime(true);
    for ($i = 0; $i < 10000; $i ++)
    {
    json_encode($target);
    }
    $etime = microtime(true);
    echo "json_encode : " . ($etime - $stime) . " ";
    //----------------------------------
    $stime = microtime(true);
    for ($i = 0; $i < 10000; $i ++)
    {
    json_decode($json);
    }
    $etime = microtime(true);
    echo "json_decode : " . ($etime - $stime) . " ";
    //----------------------------------
    $stime = microtime(true);
    for ($i = 0; $i < 10000; $i ++)
    {
    serialize($target);
    }
    $etime = microtime(true);
    echo "serialize : " . ($etime - $stime) . " ";
    //----------------------------------
    $stime = microtime(true);
    for ($i = 0; $i < 10000; $i ++)
    {
    unserialize($seri);
    }
    $etime = microtime(true);
    echo "unserialize : " . ($etime - $stime) . " ";
    echo 'DONE.';
    ?>

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:quot microtime json stime etime
    上一篇:php ftp上传,下载,删除服务器文件实例 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • PHP根据图片色界在不同位置加水印的方法• PHP实现301跳转,及延时跳转代码• 根据访客所在城市ip地址自动跳转到分站的php代码• php入门教程-留言板程序• 字符串截取函数
    1/1

    PHP中文网