PHP封裝XML和JSON格式數(shù)據(jù)接口操作示例
本文實(shí)例講述了PHP封裝XML和JSON格式數(shù)據(jù)接口操作。分享給大家供大家參考,具體如下:
使用PHP開發(fā)app后端的接口時(shí),我們需要返回?cái)?shù)據(jù),最常用的就是XML和JSON格式的數(shù)據(jù),那么樣返回呢?
1.JSON
json數(shù)據(jù)是最容制造的,只要使用php自帶的json_encode()
函數(shù)就可以簡單的制作出json數(shù)據(jù)了
2.XML
xml數(shù)據(jù)就要復(fù)雜一點(diǎn)了,讓我們看一下xml數(shù)據(jù)的格式
那么怎樣構(gòu)造呢?
3.制作生產(chǎn)接口數(shù)據(jù)的類
<?php //定義生成接口數(shù)據(jù)類 class Api { /* * 生成json數(shù)據(jù)格式 * @param integer $code 狀態(tài)碼 * @param string $message 提示信息 * $param array $data 數(shù)據(jù) * return string */ public static function json($code, $message = '', $data = array()) { //如果狀態(tài)碼不是數(shù)字就返回空 if(!is_numeric($code)) { return ''; } //構(gòu)造返回?cái)?shù)據(jù) $result = array( 'code' = > $code, 'message' => $message, 'data' => $data ); return json_encode($result); } /* * 生成xml數(shù)據(jù)格式 * @param integer $code 狀態(tài)碼 * @param string $message 提示信息 * @param array $data 數(shù)據(jù) * return string */ public static function xml($code, $message = '', $data = array()) { if(!is_numeric($code)) { return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data ); //構(gòu)造xml數(shù)據(jù) //使返回的數(shù)據(jù)以xml格式顯示 header("Content-Type:text/xml"); //開始拼xml數(shù)據(jù) $xml = "<?xml version='1.0' encoding='UTF-8'?>"; //根節(jié)點(diǎn) $xml .= "<root>"; //創(chuàng)建一個(gè)額外函數(shù)來構(gòu)造 $xml .= self::xmlToEncode($result); $xml .= "</root>"; return $xml; } //構(gòu)造xml數(shù)據(jù)函數(shù) public static function xmlToEncode($data) { $xml = ""; $attr = ""; foreach($data as $key => $value) { //如果傳遞的數(shù)組是沒有鍵值的話,<0>,<1>這種類型的節(jié)點(diǎn)是不合法的,所有就要判斷了,如果是數(shù)字就這樣<item id='0'>顯示 if(is_numeric($key)) { $attr = "id = '{$key}'"; $key = "item"; } //如果是數(shù)字就加上$attr $xml .= "<{$key}{$attr}>"; //如果value是數(shù)組就進(jìn)行遞歸 $xml .= is_array($value) ? self::xmlToEncode($value) : $value; $xml .= "</{$key}>"; } return $xml; } } //下面就來測試一下吧 $data = array( 'id' => 1, 'name' => 'zjp', 'content' => array( 'sex' => '男', 'age' => '24', 'num' => array(1,3,5,7,9) ) ); $xml = Api::xml(200, "返回?cái)?shù)據(jù)成功", $data); $json = Api::json(200, "返回?cái)?shù)據(jù)成功", $data); ?>
xml格式數(shù)據(jù):上面那張介紹xml格式
json格式數(shù)據(jù):
PS:本站還提供了如下XML與JSON相關(guān)工具,方便大家參考使用:
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
php代碼在線格式化美化工具:
http://tools.jb51.net/code/phpformat
在線XML格式化/壓縮工具:
http://tools.jb51.net/code/xmlformat
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP中json格式數(shù)據(jù)操作技巧匯總》、《PHP針對XML文件操作技巧總結(jié)》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
- PHP調(diào)用全國天氣預(yù)報(bào)數(shù)據(jù)接口查詢天氣示例
- php的api數(shù)據(jù)接口書寫實(shí)例(推薦)
- PHP實(shí)現(xiàn)chrome表單請求數(shù)據(jù)轉(zhuǎn)換為接口使用的json數(shù)據(jù)
- PHP實(shí)現(xiàn)騰訊短網(wǎng)址生成api接口實(shí)例
- PHP接入支付寶接口失效流程詳解
- PHP語言對接抖音快手小紅書視頻/圖片去水印API接口源碼
- PHP預(yù)定義接口——Iterator用法示例
- php與阿里云短信接口接入操作案例分析
- PHP開發(fā)API接口簽名生成及驗(yàn)證操作示例
- PHP接口類(interface)的定義、特點(diǎn)和應(yīng)用示例
- 微信小程序開發(fā)之獲取用戶手機(jī)號碼(php接口解密)
- PHP 對象接口簡單實(shí)現(xiàn)方法示例
- PHP開發(fā)api接口安全驗(yàn)證操作實(shí)例詳解
- 如何用PHP編寫簡單的api數(shù)據(jù)接口
相關(guān)文章
PHP設(shè)計(jì)模式之裝飾器模式定義與用法簡單示例
這篇文章主要介紹了PHP設(shè)計(jì)模式之裝飾器模式定義與用法,結(jié)合簡單實(shí)例形式分析了php裝飾器模式的概念、原理、定義與簡單使用方法,需要的朋友可以參考下2018-08-08PHP實(shí)現(xiàn)的用戶注冊表單驗(yàn)證功能簡單示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的用戶注冊表單驗(yàn)證功能,結(jié)合簡單實(shí)例形式分析了php form表單提交、數(shù)據(jù)庫查詢、正則驗(yàn)證等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02PHP中4個(gè)加速、緩存擴(kuò)展的區(qū)別和選用建議
這篇文章主要介紹了PHP中eAccelerator、memcached、xcache、APC等4個(gè)加速、緩存擴(kuò)展的區(qū)別和選用建議,需要的朋友可以參考下2014-03-03file_get_contents獲取不到網(wǎng)頁內(nèi)容的解決方法
file_get_contents獲取不到網(wǎng)頁內(nèi)容的解決方法,需要的朋友可以參考一下2013-03-03JoshChen_web格式編碼UTF8-無BOM的小細(xì)節(jié)分析
下面這張圖是用chrome瀏覽器打開一個(gè)2012年-2013學(xué)年第二學(xué)期的PHP課程的期末作業(yè),用的是PHP + smarty + mysql來實(shí)現(xiàn)的2013-08-08php的優(yōu)點(diǎn)總結(jié) php有哪些優(yōu)點(diǎn)
在本篇文章里小編給各位整理了關(guān)于php的優(yōu)點(diǎn)的總結(jié)內(nèi)容以及相關(guān)知識點(diǎn)整理,需要的朋友們學(xué)習(xí)下。2019-07-07PHP7擴(kuò)展開發(fā)之hello word實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP7擴(kuò)展開發(fā)之hello word實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了php7擴(kuò)展開發(fā)的具體步驟與相關(guān)操作技巧,涉及針對php底層源碼的修改與編譯,需要的朋友可以參考下2018-01-01