php自定义函数格式化,PHP自定义函数格式化json数据实例
这篇文章主要介绍了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数据实例相关推荐
- php的json_encode实例,php json_encode()函数返回json数据实例代码
json_encode()函数用法. echo json_encode(array('a'=>'bbbb','c'=>'ddddd'); 这样就会生成一个标准的json格式的数据 代码如下 ...
- java中使用ajax请求数据格式化,ajax请求服务器返回json数据格式化
JQuery--实现Ajax应用 实现Ajax应用 1 .load()异步请求数据,通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,调用格式为load(url,[data], ...
- php 自定义格式化,PHP自定义函数格式化json数据示例
本文实例讲述了PHP自定义函数格式化json数据的方法.分享给大家供大家参考,具体如下: /** * Formats a JSON string for pretty printing * * @pa ...
- python123格式化输出_python 字符串格式化输出 %d,%s及 format函数
旧式格式化方式:%s,%d 1.顺序填入格式化内容 s = "hello %s, hello %d"%("world", 100) print(s) 结果: ' ...
- php nl2p,PHP函数nl2br()与自定义函数nl2p()换行用法分析,nl2brnl2p_PHP教程
PHP函数nl2br()与自定义函数nl2p()换行用法分析,nl2brnl2p 本文实例讲述了PHP函数nl2br()与自定义函数nl2p()换行用法.分享给大家供大家参考,具体如下: 使用情景 很 ...
- Hive函数(内置函数(字符串函数,数学函数,日期函数,集合函数,条件函数,聚合函数,表生成函数)和自定义函数(自定义函数创建流程,临时函数,永久函数)))(四)
Hive函数(内置函数和自定义函数) 一.内置函数 1.字符串函数 (1)ascii (2)base64 (3)concat (4)concat_ws (5)format_number (6)subs ...
- python如何自定义函数_python基础之函数(自定义函数)
函数: 函数的定义: 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数. ...
- pandas编写自定义函数计算多个数据列的加和(sum)、使用groupby函数和apply函数聚合计算分组内多个数据列的加和
pandas编写自定义函数计算多个数据列的加和(sum).使用groupby函数和apply函数聚合计算分组内多个数据列的加和 目录
- pandas编写自定义函数、使用apply函数应用自定义函数基于Series数据生成新的dataframe
pandas编写自定义函数.使用apply函数应用自定义函数基于Series数据生成新的dataframe 目录 pandas编写自定义函数.使用apply函
最新文章
- 文巾解题 13. 罗马数字转整数
- 生活优越与生活艰苦者之间的思考
- 我是如何在两天内做完一个网站的
- 客户合作伙伴关系研究
- java如何爬取304_HTTP 304错误的详细讲解
- 上篇 | 说说无锁(Lock-Free)编程那些事
- android刷新时的圆形动画_Android动画篇(一):圆形进度条CircleProgressBar
- DIV实现CSS 的placeholder效果
- linux oracle 服务重启过程
- python代码混淆加密
- 洛谷 P4556 [Vani有约会]雨天的尾巴 解题报告
- SwiftUI vs 故事板
- Google广告投放技巧,开始Google广告投放
- /usr/bin/ld: cannot find -lxxx 的解决办法
- 测试开发系列之——css
- java编码字数统计
- 计算机游戏攻略66 关,一笔画攻略,一笔画攻略66关
- 魔力宝贝服务器修改技能经验,【石器时代】 GM添加、命令使用、经验及倍数设置、宠添加、查找及修改【附图】...
- Java IO流以及File类
- 操作系统原理_田丽华(7)死锁
热门文章
- 记录一下matlab三维柱状图调色详细步骤
- 一种轻量级的C4C业务数据同步到S/4HANA的方式:Odata通知
- samba mv命令出错
- IoC容器Autofac(3) - 理解Autofac原理,我实现的部分Autofac功能(附源码)
- Android中Handler的使用
- MySQl数据库必会sql语句(提升版)
- linux常见命令汇总
- C++ 输入输出流 文本文件 二进制文件读写
- PL/Sql循序渐进全面学习教程(下)(ZT)
- 注册表故障恢复 必须使用记录或另一备份以恢复包含系统注册表数据的文件。恢复成功...