PHP生成json和xml类型接口数据格式
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-27 09:34:36 浏览: 评论:0
在做数据接口时,我们通常要获取第三方数据接口或者给第三方提供数据接口,而这些数据格式通常是以XML或者JSON格式传输,本文将介绍如何使用PHP生成XML格式数据供第三方调用以及如何获取第三方提供的XML数据。
php生成接口通信数据:
- /**
- * 生成接口数据格式
- */
- 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);
以上所述就是本文的全部内容了,希望大家能够喜欢。
Tags: PHP生成json
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)