加入收藏 | 设为首页 | 会员中心 | 我要投稿 钦州站长网 (https://www.0777zz.cn/)- 智能办公、数据计算、云存储网关、负载均衡、设备管理!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php格式化json函数示例代码

发布时间:2022-08-03 10:21:56 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了php格式化json函数,结合实例形式分析了php使用自定义函数实现json格式化的方法,涉及php数组转json、流程控制及字符串操作等技巧,需要的朋友可以参考下。 本文讲述了php格式化json函数的示例代码,分享给大家供大家参考,具体如下: ?php $
  这篇文章主要介绍了php格式化json函数,结合实例形式分析了php使用自定义函数实现json格式化的方法,涉及php数组转json、流程控制及字符串操作等技巧,需要的朋友可以参考下。
 
  本文讲述了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
   }
  }
  **/
  ?>

(编辑:钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读