亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP封裝XML和JSON格式數(shù)據(jù)接口操作示例

 更新時(shí)間:2019年03月06日 16:56:05   作者:勵志成為一個(gè)弓箭手的程序猿  
這篇文章主要介紹了PHP封裝XML和JSON格式數(shù)據(jù)接口操作,結(jié)合實(shí)例形式分析了php針對xml與json格式數(shù)據(jù)接口封裝相關(guān)操作技巧,需要的朋友可以參考下

本文實(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ì)有所幫助。

相關(guān)文章

最新評論