php格式化json函数示例代码

yipeiwu_com5年前PHP代码库

本文讲述了php格式化json函数的示例代码。分享给大家供大家参考,具体如下:

<?php
$arr = array("ret"=>0,"data"=>array('a' => 1, 'b' => '2', 'c' => 3, 'd' => 4, 'e' => 5));
$json = json_encode($arr);
/**
* 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
*/
function _format_json($json, $html = false) {
 $tabcount = 0;
 $result = '';
 $inquote = false;
 $ignorenext = false;
 if ($html) {
  $tab = "   ";
  $newline = "<br/>";
 } 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": 2,
 "c": 3,
 "d": 4,
 "e": 5
 }
}
**/
?>

另外,本站还提供了如下格式化与转换工具方便大家使用:

php代码在线格式化美化工具:
http://tools.jb51.net/code/phpformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

JavaScript代码美化/压缩/格式化/加密工具:
http://tools.jb51.net/code/jscompress

在线XML格式化/压缩工具:
http://tools.jb51.net/code/xmlformat

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《php文件操作总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

对于PHP 5.4 你必须要知道的

PHP 5.4来了,这是自5.3后的又一次主版本升级。此次升级改动较为显著,删除了一些过气儿的函数,带来了高达20%的速度提升和更少的内存使用。 新特性与改动此次更新的关键新特性,包括:...

php中print(),print_r(),echo()的区别详解

echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)   print()   &nb...

php采集速度探究总结(原创)

 注意:下面的所有函数都没有用正则。 以上为取出第一个匹配的三个函数,实现相同的目的 function str_cut($str ,$start, ...

Apache实现Web Server负载均衡详解(不考虑Session版)

至少需三台服务器:服务器A:控制服务器服务器B和服务器C:实际执行服务器负载均衡原理:将访问服务器A的请求分发至服务器B和服务器C修改服务器A上apache的http.conf文件: 首...

php实现的二分查找算法示例

本文实例讲述了php实现的二分查找算法。分享给大家供大家参考,具体如下: <?php $arr = array(4,58,11,34,88,45,32,54,63,78...