这篇文章主要介绍了PHP自定义函数格式化json数据的方法,结合实例形式分析了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
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 = "
";

} else {

$tab = "\t";

$newline = "\n";

}

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": "\u811a\u672c\u4e4b\u5bb6",

"c": 3,

"d": 4,

"e": 5

}

}

**/

?>

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

php自定义函数格式化,PHP自定义函数格式化json数据实例相关推荐

  1. php的json_encode实例,php json_encode()函数返回json数据实例代码

    json_encode()函数用法. echo json_encode(array('a'=>'bbbb','c'=>'ddddd'); 这样就会生成一个标准的json格式的数据 代码如下 ...

  2. java中使用ajax请求数据格式化,ajax请求服务器返回json数据格式化

    JQuery--实现Ajax应用 实现Ajax应用 1   .load()异步请求数据,通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,调用格式为load(url,[data], ...

  3. php 自定义格式化,PHP自定义函数格式化json数据示例

    本文实例讲述了PHP自定义函数格式化json数据的方法.分享给大家供大家参考,具体如下: /** * Formats a JSON string for pretty printing * * @pa ...

  4. python123格式化输出_python 字符串格式化输出 %d,%s及 format函数

    旧式格式化方式:%s,%d 1.顺序填入格式化内容 s = "hello %s, hello %d"%("world", 100) print(s) 结果: ' ...

  5. php nl2p,PHP函数nl2br()与自定义函数nl2p()换行用法分析,nl2brnl2p_PHP教程

    PHP函数nl2br()与自定义函数nl2p()换行用法分析,nl2brnl2p 本文实例讲述了PHP函数nl2br()与自定义函数nl2p()换行用法.分享给大家供大家参考,具体如下: 使用情景 很 ...

  6. Hive函数(内置函数(字符串函数,数学函数,日期函数,集合函数,条件函数,聚合函数,表生成函数)和自定义函数(自定义函数创建流程,临时函数,永久函数)))(四)

    Hive函数(内置函数和自定义函数) 一.内置函数 1.字符串函数 (1)ascii (2)base64 (3)concat (4)concat_ws (5)format_number (6)subs ...

  7. python如何自定义函数_python基础之函数(自定义函数)

    函数: 函数的定义: 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数. ...

  8. pandas编写自定义函数计算多个数据列的加和(sum)、使用groupby函数和apply函数聚合计算分组内多个数据列的加和

    pandas编写自定义函数计算多个数据列的加和(sum).使用groupby函数和apply函数聚合计算分组内多个数据列的加和 目录

  9. pandas编写自定义函数、使用apply函数应用自定义函数基于Series数据生成新的dataframe

    pandas编写自定义函数.使用apply函数应用自定义函数基于Series数据生成新的dataframe 目录 pandas编写自定义函数.使用apply函

最新文章

  1. 文巾解题 13. 罗马数字转整数
  2. 生活优越与生活艰苦者之间的思考
  3. 我是如何在两天内做完一个网站的
  4. 客户合作伙伴关系研究
  5. java如何爬取304_HTTP 304错误的详细讲解
  6. 上篇 | 说说无锁(Lock-Free)编程那些事
  7. android刷新时的圆形动画_Android动画篇(一):圆形进度条CircleProgressBar
  8. DIV实现CSS 的placeholder效果
  9. linux oracle 服务重启过程
  10. python代码混淆加密
  11. 洛谷 P4556 [Vani有约会]雨天的尾巴 解题报告
  12. SwiftUI vs 故事板
  13. Google广告投放技巧,开始Google广告投放
  14. /usr/bin/ld: cannot find -lxxx 的解决办法
  15. 测试开发系列之——css
  16. java编码字数统计
  17. 计算机游戏攻略66 关,一笔画攻略,一笔画攻略66关
  18. 魔力宝贝服务器修改技能经验,【石器时代】 GM添加、命令使用、经验及倍数设置、宠添加、查找及修改【附图】...
  19. Java IO流以及File类
  20. 操作系统原理_田丽华(7)死锁

热门文章

  1. 记录一下matlab三维柱状图调色详细步骤
  2. 一种轻量级的C4C业务数据同步到S/4HANA的方式:Odata通知
  3. samba mv命令出错
  4. IoC容器Autofac(3) - 理解Autofac原理,我实现的部分Autofac功能(附源码)
  5. Android中Handler的使用
  6. MySQl数据库必会sql语句(提升版)
  7. linux常见命令汇总
  8. C++ 输入输出流 文本文件 二进制文件读写
  9. PL/Sql循序渐进全面学习教程(下)(ZT)
  10. 注册表故障恢复 必须使用记录或另一备份以恢复包含系统注册表数据的文件。恢复成功...