php 自定義格式化,PHP自定義函數格式化json數據示例

本文實例講述了PHP自定義函數格式化json數據的方法。分享給大家供大家參考,具體如下:

/**

* 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

}

}

**/

?>

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

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP中json格式數據操作技巧匯總》、《PHP針對XML文件操作技巧總結》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/445772.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/445772.shtml
英文地址,請注明出處:http://en.pswp.cn/news/445772.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php 單選框選中事件,html中的checkbox和radio事件選擇用法詳解

radio注冊了click事件以后&#xff0c;神奇的是用鍵盤上的上下左右選擇時&#xff0c;居然會觸發鼠標事件&#xff0c;滾輪也會觸發&#xff0c;這種神奇的事情在mousedown下面是不會發生的。(webkit不能使用上下左右選擇)checkbox注冊click事件后&#xff0c;奇跡再次上演&…

java水文模型,分布式水文模型.ppt

分布式水文模型ppt課件第九章分布式水文模擬技術 第九章 分布式水文模擬技術 9.1 分布式水文模型的發展 9.1.1 分布式水文模型的研究進展 9.1.1.2 幾點討論 9.1.2 分布式水文模型的發展 9.2 基于DEM的流域分布式水文模型 9.2.1 流域水文過程及其數學模擬 流域水循環過程示意圖 …

php 實現的n,php 實現數據N等分。

本例給出實現3等分的代碼和運行結果。在保證&#xff0c;每一個部分都不會宕機的情況下&#xff0c;這種算法是最簡單的。否則就用一致性哈希算法。公式原理&#xff1a;求余算法: hash(object)%Nfor($i 1;$i<100;$i){$result crc32($i) % 3;echo "i:".$i . &qu…

ccf json解析 java,【求助】e4a json解析 求助大佬幫忙老看下怎么取?

[PHP] 純文本查看 復制代碼[{"title":"\u4e1c\u98ce\u7834","url":"\/tv\/QrRobH7kTGTqNX.html","star":"\u4e3b\u6f14\uff1a\u5f20\u7b11\u541b \u5f20\u94ce \u725b\u4e3d\u71d5 \u5218\u5c0f\u950b \u68a6\u6960&qu…

java 場景處理,將黃瓜場景示例作為一個場景處理

我遇到了Cucumber的問題 - 現在我正在進行移動自動化&#xff0c;并且我有使用場景輪廓的功能 - 我在場景中有一些變量&#xff1a;場景大綱&#xff1a;菜單項Given the user is on the hamburger menuAnd the language is Then menu item is Examples:| menu item | language…

mysql 5.5.23 winx64,win10下mysql 5.7.23 winx64安裝配置方法圖文教程

本文記錄了mysql 5.7.23 winx64安裝教程&#xff0c;具體內容如下Step1選擇手動下載版本解壓到自己指定的路徑上圖中的my.ini及data文件夾在壓縮包里是沒有的&#xff0c;后面需要自己添加my.ini如下&#xff0c;直接copy~然后在目錄下創建一個data文件夾Step2設置環境變量電腦…

php if !=,php If else 用法

PHP的&#xff0c;如果聲明是非常類似于其他編程語言使用if語句&#xff0c;但對于那些誰不熟悉它&#xff0c;圖片如下&#xff1a;想想你的決定作出之前&#xff0c;你去睡覺。如果你有這樣做的第二天&#xff0c;說去上班&#xff0c;上學&#xff0c;或任用&#xff0c;那么…

matlab生成均勻部分散點圖,應用halton序列生成均勻散點圖

前言一門課的作業要用RBF-DQ方法計算流場。簡單來講就是要在無網格的條件下用高精度格式實現流場的仿真計算。生成散點圖時&#xff0c;用蒙特卡洛的方法得到的散點圖分布不是很均勻&#xff0c;于是想到一種叫做halton的序列。本篇將運用halton序列生成均勻的散點圖。halton序…

php分頁頁數過多隱藏,織夢DEDE中內容頁分頁數目太多時隱藏方法

在dede程序的文章或圖集模型&#xff0c;內容頁分頁過多&#xff0c;假如分頁80頁&#xff0c;那么dede默認的內容分頁標簽{dede:pagebreak/}會把所有的分頁都顯示出來&#xff0c;這樣會撐破網頁模板&#xff0c;即使使用css控制可以解決這個撐破模板問題&#xff0c;用overfl…

nginx php 跨域訪問權限,nginx + php 實現跨域請求填坑筆記

最近自己構建了一個輕量級的 MVC 框架&#xff0c;現在將該MVC用于生產環境的項目中&#xff0c;目前因為項目中有跨域的請求&#xff0c;所以需要做一些CORS授權&#xff0c;但在實際使用出現了一些問題&#xff0c;目前已解決&#xff0c;故做下記錄。服務器&#xff1a;cent…

python 內存溢出能捕獲嗎,Python——寫自己的異常(形成強大的捕捉和處理能力)...

"""1、編寫自己的異常時&#xff0c;通常是繼承Exception2、如果繼承的是BaseException&#xff0c;那么就不會被通用的except Exception捕捉到3、自己定義的異常Python不會自動觸發&#xff0c;需要自己觸發&#xff0c;用raise進行觸發4、python只會自動觸發它…

解決動態規劃問題4步曲

概述 &#xff08;確定狀態&#xff09;確定問題狀態 提煉最后一步子問題轉化 &#xff08;求得方程&#xff09;轉移方程&#xff0c;把問題方程化&#xff08;設初置界&#xff09;按照實際邏輯設置初始條件和邊界情況&#xff08;確序再解&#xff09;確定計算順序并求解 …

php ajax隊列,AJAX請求隊列實現

這篇文章主要為大家詳細介紹了AJAX請求隊列的實現代碼,具有一定的參考價值&#xff0c;感興趣的小伙伴們可以參考一下AJAX在使用的過程中會遇到一個問題&#xff0c;當用戶短時間內執行了多個異步請求的時候&#xff0c;如果前一個請求沒完成&#xff0c;將會被取消執行最新的一…

php Spreadsheet 導出,PhpSpreadsheet 導出Excel

/*** Excel 助手* sudo composer require phpoffice/phpspreadsheet*/namespace CommonUtil;use PhpOfficePhpSpreadsheetSpreadsheet;use PhpOfficePhpSpreadsheetWriterXlsx;use PhpOfficePhpSpreadsheetStyleAlignment;use PhpOfficePhpSpreadsheetStyleColor;class ExcelUt…

php 不同時區時間轉換,在PHP中將DateTime字符串轉換為不同的時區

好吧,我有以下代碼$from "Asia/Manila";$to "UTC";$org_time new DateTime("2012-05-15 10:50:00");$org_time $org_time->format("Y-m-d H:i:s");$conv_time NULL;$userTimezone new DateTimeZone($from);$gmtTimezone new…

php iis ajax 無效,IIS7中Ajax.AjaxMethod無效的原因及解決方法

最近做用Ajax.AjaxMethod方法的時候&#xff0c;在asp.net的服務器下一切正常&#xff0c;用iis的時候&#xff0c;js中總是cs類找不到&#xff0c;我就郁悶了&#xff0c;折騰了大半天&#xff0c;終于找到錯誤原因了。因為我發布網站用的是iis7&#xff0c;所以在web.config位…

查看oracle監聽服務器,處理Oracle 監聽文件listener.log問題

如果連接時候變得較慢 查看Oracle日志記錄&#xff0c;可能是因為此文件太大&#xff0c;超過2G&#xff0c;需要定期清理&#xff0c;(如果多用戶&#xff0c;記得用root&#xff0c;可能沒權限)查看listener.log&#xff1f;find / -name listener.log經查看&#xff0c;竟然…

oracle添加偽列,Oracle偽列 - jifengtang的個人空間 - OSCHINA - 中文開源技術交流社區...

在oracle10g和下&#xff0c;偽列包括如下內容&#xff1a;lHierarchical Query Pseudocolumns分級查詢是oracle提供的遞歸查詢語法&#xff0c;在這里不做展開。只有在分級查詢下&#xff0c;才可以使用以下偽列&#xff1a;1.CONNECT_BY_ISCYCLE Pseudocolumn2.CONNECT_BY_IS…

美國oracle球場,美國體育館考察——美國體育產業是如何盈利的?

體育是美國一項較高利潤的產業&#xff0c;其發展規模、發展水平和效益都是世界一流的。美國體育館考察&#xff0c;主要考察美國體育產業的盈利模式和體育賽事的贊助模式以及球館的運營管理&#xff0c;并對比中美體育產業的差異&#xff0c;從中獲得先進的體育產業運營思維&a…

php集成環境怎么打開,PHP集成開發環境PhpStorm快速入門指南(二):打開一個項目?...

PhpStorm是一個輕量級且便捷的PHP IDE&#xff0c;其旨在提高用戶效率&#xff0c;可深刻理解用戶的編碼&#xff0c;提供智能代碼補全&#xff0c;快速導航以及即時錯誤檢查。可隨時幫助用戶對其編碼進行調整&#xff0c;運行單元測試或者提供可視化debug功能。PhpStorm 2019.…