一、使用 json_encode 输出
<?php header('content-type:application/json;charset=utf8'); $arr = array( 'status' => true, 'errMsg' => '', 'member' =>array( array( 'name' => '李', 'gender' => '男' ), array( 'name' => '赵', 'gender' => '女' ) ) ); echo json_encode($arr); ?>
(推荐学习:PHP视频教程)
输出:
{"status":true,"errMsg":"","member":[{"name":"\u674e","gender":"\u7537"},{"name":"\u8d75","gender":"\u5973"}]}
二、使用 jsonFormat 输出
<?php /** Json数据格式化 * @param Mixed $data 数据 * @param String $indent 缩进字符,默认4个空格 * @return JSON */ function jsonFormat($data, $indent=null){ // 对数组中每个元素递归进行urlencode操作,保护中文字符 array_walk_recursive($data, 'jsonFormatProtect'); // json encode $data = json_encode($data); // 将urlencode的内容进行urldecode $data = urldecode($data); // 缩进处理 $ret = ''; $pos = 0; $length = strlen($data); $indent = isset($indent)? $indent : ' '; $newline = "\n"; $prevchar = ''; $outofquotes = true; for($i=0; $i<=$length; $i++){ $char = substr($data, $i, 1); if($char=='"' && $prevchar!='\\'){ $outofquotes = !$outofquotes; }elseif(($char=='}' || $char==']') && $outofquotes){ $ret .= $newline; $pos --; for($j=0; $j<$pos; $j++){ $ret .= $indent; } } $ret .= $char; if(($char==',' || $char=='{' || $char=='[') && $outofquotes){ $ret .= $newline; if($char=='{' || $char=='['){ $pos ++; } for($j=0; $j<$pos; $j++){ $ret .= $indent; } } $prevchar = $char; } return $ret; } /** 将数组元素进行urlencode * @param String $val */ function jsonFormatProtect(&$val){ if($val!==true && $val!==false && $val!==null){ $val = urlencode($val); } } header('content-type:application/json;charset=utf8'); $arr = array( 'status' => true, 'errMsg' => '', 'member' =>array( array( 'name' => '李', 'gender' => '男' ), array( 'name' => '赵', 'gender' => '女' ) ) ); echo jsonFormat($arr); ?>
输出:
{ "status":true, "errMsg":"", "member":[ { "name":"李", "gender":"男" }, { "name":"赵", "gender":"女" } ] }
三、php5.4 以后,json_encode增加了JSON_UNESCAPED_UNICODE , JSON_PRETTY_PRINT 等几个常量参数。使显示中文与格式化更方便。
<?php header('content-type:application/json;charset=utf8'); $arr = array( 'status' => true, 'errMsg' => '', 'member' =>array( array( 'name' => '李', 'gender' => '男' ), array( 'name' => '赵', 'gender' => '女' ) ) ); echo json_encode($arr, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
输出:
{ "status": true, "errMsg": "", "member": [ { "name": "李", "gender": "男" }, { "name": "赵", "gender": "女" } ] }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

TheseCreTokeepingaphp propulséedwebsiterunnings omanlyderheayloadoLinvolveSeveralKeySTRATÉES: 1) Implémentez le codécachement de la réception de l'option d'épreuve de base

Vous devez vous soucier de la dépendance injection (DI) car cela rend votre code plus clair et plus facile à entretenir. 1) La DI le rend plus modulaire en découplant les classes, 2) améliore la commodité des tests et de la flexibilité du code, 3) Utiliser des conteneurs DI pour gérer les dépendances complexes, mais faire attention à l'impact des performances et aux dépendances circulaires, 4) La meilleure pratique consiste à s'appuyer sur des interfaces abstraites pour atteindre un couplage lâche.

Oui, optimiseraPhpApplicationIspossibleBessential.1) implémentcachingusingapcutoredataBaseLoad.2) optimizedatabases withithindexing, efficienceseries, andconnectionpooling.3) améliorez les codéins de bobuilt, évitant les Globalvariables, et les codéins de bobuil

The KeystrategiestosiglyboostphpapplicationPerformanceAre: 1) useopCodecachingLILYOPCACHETOREDUCEEXECUTURSTime, 2) OptimizedatabaseInterActionSwithPreparedStatements andproperIndexing, 3) ConfigurewebserVerslikenginxWithPhp-fpmForBetterformance, 4)

AphpdependencyInjectionContaineeRisatool That ManageSclassDensences, améliorant le codemodularité, la testabilité et la participation.

Sélectionnez DependencyInjection (DI) Pour les grandes applications, le service de service convient aux petits projets ou prototypes. 1) DI améliore la testabilité et la modularité du code par injection de constructeur. 2) Servicelocator obtient des services par l'enregistrement du centre, ce qui est pratique mais peut entraîner une augmentation du couplage du code.

PhpapplicationsCanBeoptimizedForsPeedAndFiciency: 1) AutoringOpCacheInphp.ini, 2) Utilisation de PreparedStatementswithpodOrdatabasequeries, 3) Remplacingloopswitray_filterandArray_Mapfordataprocessing, 4) Configurationnginxasareproxy, 5)

PhpemailvalidationInvolvesthestreps: 1) formatvalidationusinggularexpressionstochecktheemailformat; 2) dnsvalidationtoensethedomainhasavalidmxrecord; 3) smtpvalidation, themostthoroughMethod.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Dreamweaver CS6
Outils de développement Web visuel

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
