最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP生成json和xml類型接口數據格式

 更新時間:2015年05月17日 10:16:07   投稿:hebedich  
在做數據接口時,我們通常要獲取第三方數據接口或者給第三方提供數據接口,而這些數據格式通常是以XML或者JSON格式傳輸,本文將介紹如何使用PHP生成XML格式數據供第三方調用以及如何獲取第三方提供的XML數據。

php生成接口通信數據

/**
 * 生成接口數據格式
 */
class Response{
  /**
   * [show 按綜合方式輸出數據]
   * @param [int] $code    [狀態(tài)碼]
   * @param [string] $message [提示信息]
   * @param array $data  [數據]
   * @param [string] $type [類型]
   * @return [string]    [返回值]
   */
  public static function show($code, $message, $data = array(),$type = ''){
    if(!is_numeric($code)){
      return '';
    }
    $result = array(
      'code' => $code,
      'message' => $message,
      'data' => $data
    );
    if($type == 'json'){
      return self::json($code, $message, $data);
    }elseif($type == 'xml'){
      return self::xml($code, $message, $data);
    }else{
      //TODO
    }
  }
  /**
   * [json 按json方式輸出數據]
   * @param [int] $code    [狀態(tài)碼]
   * @param [string] $message [提示信息]
   * @param [array] $data  [數據]
   * @return [string]     [返回值]
   */
  public static function json($code, $message, $data = array()){
    if(!is_numeric($code)){
      return '';
    }
    $result = array(
      'code' => $code,
      'message' => $message,
      'data' => $data
    );
    $result = json_encode($result);
    return $result;
  }
 
  /**
   * [xml 按xml格式生成數據]
   * @param [int] $code    [狀態(tài)碼]
   * @param [string] $message [提示信息]
   * @param array $data   [數據]
   * @return [string]     [返回值]
   */
  public static function xml($code, $message, $data = array()){
    if(!is_numeric($code)){
      return '';
    }
    $result = array(
      'code' => $code,
      'message' => $message,
      'data' => $data
    );
    header("Content-Type:text/xml");
    $xml = "<?xml version='1.0' encoding='UTF-8'?>\n";
    $xml .= "<root>\n";
    $xml .= self::xmlToEncode($data);
    $xml .= "</root>";
    return $xml;
  }
 
  public static function xmlToEncode($data){
    $xml = '';
    foreach($data as $key => $value){
      if(is_numeric($key)){
        $attr = "id='{$key}'";
        $key = "item";
      }
      $xml .= "<{$key} {$attr}>\n";
      $xml .= is_array($value) ? self::xmlToEncode($value) : "{$value}\n";
      $xml .= "</{$key}>\n";
    }
    return $xml;
  }
}
 
//測試
$grade = array("score" => array(70, 95, 70.0, 60, "70"), "name" => array("Zhang San", "Li Si", "Wang Wu", "Zhao Liu", "TianQi"));
$response = new Response();
$result = $response :: show(200,'success',$grade,'json');
print_r($result);

以上所述就是本文的全部內容了,希望大家能夠喜歡。

相關文章

  • 詳解如何實現Laravel的服務容器的方法示例

    詳解如何實現Laravel的服務容器的方法示例

    這篇文章主要介紹了詳解如何實現Laravel的服務容器的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 使用PHP uniqid函數生成唯一ID

    使用PHP uniqid函數生成唯一ID

    生成唯一ID的應用場景非常普遍,如臨時緩存文件名稱,臨時變量,臨時安全碼等,uniqid()函數基于以微秒計的當前時間,生成一個唯一的 ID。由于生成唯一ID與微秒時間關聯,因此ID的唯一性非??煽?/div> 2015-11-11
  • PHP編譯configure時常見錯誤的總結

    PHP編譯configure時常見錯誤的總結

    這篇文章主要介紹了PHP編譯configure時常見錯誤的總結的相關資料,本文總結了一些常見的configure錯誤信息和解決這些錯誤的經驗,需要的朋友可以參考下
    2017-08-08
  • laravel返回統(tǒng)一格式錯誤碼問題

    laravel返回統(tǒng)一格式錯誤碼問題

    在使用yii和laravel的過程中,兩個框架對web-api都非常友好,也都對restful做了不同程度的支持,但是還是遇到了一些問題,下面以laravel6.4為例,簡單描述下我遇到的問題,需要的朋友參考下吧
    2019-11-11
  • PHP使用遞歸按層級查找數據的方法

    PHP使用遞歸按層級查找數據的方法

    這篇文章主要介紹了PHP使用遞歸按層級查找數據的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • PHP下載遠程圖片并保存到本地方法總結

    PHP下載遠程圖片并保存到本地方法總結

    這篇文章主要介紹了PHP下載遠程圖片并保存到本地方法總結的相關資料,需要的朋友可以參考下
    2016-01-01
  • codeigniter集成ucenter1.6雙向通信的解決辦法

    codeigniter集成ucenter1.6雙向通信的解決辦法

    用codeigniter開發(fā)一個子網站,之后想和原來的論壇進行同步,包括同步登陸和雙向通信。這篇文章主要介紹了codeigniter集成ucenter1.6雙向通信的解決辦法,需要的朋友可以參考下
    2014-06-06
  • PHP仿盜鏈代碼

    PHP仿盜鏈代碼

    幫一朋友修改的PHP仿盜鏈代碼,這里分享下,方便需要的朋友
    2012-06-06
  • PHP將字符分解為多個字符串的方法

    PHP將字符分解為多個字符串的方法

    這篇文章主要介紹了PHP將字符分解為多個字符串的方法,通過split進行正則匹配實現分割字符串的功能,是非常實用的技巧,需要的朋友可以參考下
    2014-11-11
  • PHP中文漢字驗證碼

    PHP中文漢字驗證碼

    PHP中文漢字驗證碼...
    2007-04-04

最新評論

扎鲁特旗| 浮山县| 绵竹市| 广元市| 延边| 宁晋县| 婺源县| 定结县| 通渭县| 阜南县| 孝义市| 屏东市| 北流市| 无锡市| 辽宁省| 自贡市| 桦南县| 天柱县| 秭归县| 富阳市| 高台县| 凤阳县| 仁怀市| 会同县| 泽库县| 嘉祥县| 永宁县| 泗阳县| 宜城市| 黄陵县| 舒兰市| 商水县| 庄浪县| 金华市| 大悟县| 武山县| 舞阳县| 西安市| 寿阳县| 龙南县| 西平县|