首页 > 网站 > 建站经验 > 正文

PH!P生成json和xml类型接口数据格式

2019-11-02 14:42:56
字体:
来源:转载
供稿:网友

   在做数据接口时,我们通常要获取第三方数据接口或者给第三方提供数据接口,而这些数据格式通常是以XML或者JSON格式传输,本文将介绍如何使用PHP生成XML格式数据供第三方调用以及如何获取第三方提供的XML数据。

  php生成接口通信数据

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
搞笑漫画图片大全[www.62-6.com/1/manhua/]
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 /** * 生成接口数据格式 */ class Response{ /** * [show 按综合方式输出数据] * @param [int] $code [状态码] * @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 [状态码] * @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 [状态码] * @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);
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表