X 提示语:您的IE浏览器版本太低,部分重要功能无法体验或使用,请升级到IE8以上或者使用火狐、谷歌浏览器,浏览器下载:IE8火狐浏览器谷歌浏览器
PHP生成json和xml类型接口数据格式
发布时间:2018-11-05 10:52:06    来源:容大互联

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 .= "\n";
    $xml .= self::xmlToEncode($data);
    $xml .= "";
    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 .= "\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);

以上所述就是本文的全部内容了,希望大家能够喜欢。


文章来源:网络。如侵犯你的版权,请联系我们的客服人员,我们会第一时间删除文章。



容大互联推荐阅读:

 

融合基础设施:虚拟化堆栈之上的VDI

融合基础设施正在服务器虚拟化领域流行,但是当提到VDI时,其预先捆绑、集成的平台并不适合所有组织。我们将这些融合的基础设施称之为"堆栈",因为它们提供了预先封装的IT软件与虚拟化平台。对于虚拟化桌面基础设施用户来说,虚拟

robots写法大全,教你巧妙运用robots文件

robots.txt文件的运用,在SEO技术里面是比较不易懂的知识,但是SEOER的我们又必须要去了解,因为它牵扯到一些代码、URL在内,也许稍微偏差一字,对网站的影响就和本身的效果远远不同了。robots.txt的功能分很多,我们如果合理

数据中心机房对综合布线防火线缆的选用要求

1995年4月1日,汕头市邮电局金砂邮电大楼发生火灾,过火面积600平方米,烧毁通讯器材和设备等物资一批,直接财产损失1497.9万元,所幸未造成人员伤亡。2011年4月19日下午,位于上海人民广场旁的一栋上海电信大楼13楼机房起火,其中4


本文来自容大互联,专业的云计算数据中心服务商,国家高新技术企业,16年的专业深圳服务器托管、大带宽出售、光纤专线接入、云服务器等行业沉淀,提供高性价比的产品和优秀的技术服务,赢得数十万用户的青睐。

为什么选择我们
  • 16年品质

    专业服务团队,16年运营经验,值得信赖
  • 高新企业

    国家高新技术企业,深圳行业唯一
  • 双软企业

    深圳市“双软”企业,技术可靠
  • 全程服务

    7X24小时全程服务,不仅仅只是销售产品