• PHP自定义函数格式化json数据怎么调用?


    <?php
    /**
    * Formats a JSON string for pretty printing
    *
    * @param string $json The JSON to make pretty
    * @param bool $html Insert nonbreaking spaces and <br />s for tabs and linebreaks
    * @return string The prettified output
    */
    $arr = array("ret"=>0,"data"=>array('a' => 1, 'b' => "脚本之家", 'c' => 3, 'd' => 4, 'e' => 5));
    $json = json_encode($arr);
    function _format_json($json, $html = false) {
    $tabcount = 0;
    $result = '';
    $inquote = false;
    $ignorenext = false;
    if ($html) {
    $tab = "   ";
    $newline = "<br/>";
    } else {
    $tab = " ";
    $newline = " ";
    }
    for($i = 0; $i < strlen($json); $i++) {
    $char = $json[$i];
    if ($ignorenext) {
    $result .= $char;
    $ignorenext = false;
    } else {
    switch($char) {
    case '{':$tabcount++;$result .= $char . $newline . str_repeat($tab, $tabcount);break;
    case '}':$tabcount--;$result = trim($result) . $newline . str_repeat($tab, $tabcount) . $char;break;
    case ',':$result .= $char . $newline . str_repeat($tab, $tabcount);break;
    case '"':$inquote = !$inquote;$result .= $char;break;
    case '\':if ($inquote) $ignorenext = true;$result .= $char;break;
    default:$result .= $char;
    }
    }
    }
    return $result;
    }
    echo _format_json($json);
    /*
    {
    "ret": 0,
    "data": {
    "a": 1,
    "b": "u811au672cu4e4bu5bb6",
    "c": 3,
    "d": 4,
    "e": 5
    }
    }
    **/
    ?>

    PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

    在线JSON代码检验、检验、美化、格式化工具:
    http://tools.jb51.net/code/json
    JSON在线格式化工具:
    http://tools.jb51.net/code/jsonformat
    在线XML/JSON互相转换工具:
    http://tools.jb51.net/code/xmljson
    json代码在线格式化/美化/压缩/编辑/转换工具:
    http://tools.jb51.net/code/jsoncodeformat
    C语言风格/HTML/CSS/json代码格式化美化工具:
    http://tools.jb51.net/code/ccode_html_css_json

    <a href="?action=up&id=200">上一篇</a>
    <a href="?action=down&id=200">下一篇</a>

    如果是实现上一篇就在action=up页面写函数

    $id= $_GET['id'];
    //上一篇:
    $sql= select * from article where id < '.$id.' order by id desc limit 0,1';
    $rs= mysql_query($sql);
    $row= mysql_fetch_array ($rs);
    //下一篇:
    $sql= select * from article where id < '.$id.' order by id asc limit 0,1';
    $rs= mysql_query($sql);
    $row= mysql_fetch_array ($rs);

    原理,查询比当前ID小(where id < '.$id.'上一篇)和比当前ID大(where id > '.$id.'下一篇)的1条(limit 0,1)数据,并按降序(desc,上一篇)和升序(asc,下一篇)显示出来,当只取一篇的时候,可以省略降序或升序。

  • 相关阅读:
    中断解析
    中断分类
    中断分类
    在iOS开发中使用FMDB
    大数据权限授权管理框架:Apache Sentry和Ranger
    Flink FileSystem的connector分析
    Flink FileSystem的connector分析
    Flink JobManager的HA原理分析
    Flink JobManager的HA原理分析
    Flink的State概述
  • 原文地址:https://www.cnblogs.com/2881064178dinfeng/p/6192667.html
Copyright © 2020-2023  润新知