PHP封装XML和JSON格式数据接口操作示例

 更新时间:2019年03月06日 16:56:05   作者:励志成为一个弓箭手的程序猿  
这篇文章主要介绍了PHP封装XML和JSON格式数据接口操作,结合实例形式分析了php针对xml与json格式数据接口封装相关操作技巧,需要的朋友可以参考下

本文实例讲述了PHP封装XML和JSON格式数据接口操作。分享给大家供大家参考,具体如下:

使用PHP开发app后端的接口时,我们需要返回数据,最常用的就是XML和JSON格式的数据,那么样返回呢?

1.JSON

json数据是最容制造的,只要使用php自带的json_encode()函数就可以简单的制作出json数据了

2.XML

xml数据就要复杂一点了,让我们看一下xml数据的格式

那么怎样构造呢?

3.制作生产接口数据的类

<?php
//定义生成接口数据类
class Api
{
  /*
   * 生成json数据格式
   * @param integer $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
     );
     return json_encode($result);
   }
  /*
   * 生成xml数据格式
   * @param integer $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
     );
     //构造xml数据
     //使返回的数据以xml格式显示
     header("Content-Type:text/xml");
     //开始拼xml数据
     $xml = "<?xml version='1.0' encoding='UTF-8'?>";
     //根节点
     $xml .= "<root>";
     //创建一个额外函数来构造
     $xml .= self::xmlToEncode($result);
     $xml .= "</root>";
     return $xml;
   }
   //构造xml数据函数
   public static function xmlToEncode($data)
   {
     $xml = "";
     $attr = "";
     foreach($data as $key => $value)
     {
       //如果传递的数组是没有键值的话,<0>,<1>这种类型的节点是不合法的,所有就要判断了,如果是数字就这样<item id='0'>显示
       if(is_numeric($key)) {
         $attr = "id = '{$key}'";
         $key = "item";
       }
       //如果是数字就加上$attr
       $xml .= "<{$key}{$attr}>";
       //如果value是数组就进行递归
       $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, "返回数据成功", $data);
$json = Api::json(200, "返回数据成功", $data);
?>

xml格式数据:上面那张介绍xml格式

json格式数据:

PS:本站还提供了如下XML与JSON相关工具,方便大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

php代码在线格式化美化工具:
http://tools.jb51.net/code/phpformat

在线XML格式化/压缩工具:
http://tools.jb51.net/code/xmlformat

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • PHP之生成GIF动画的实现方法

    PHP之生成GIF动画的实现方法

    本篇文章是对PHP生成GIF动画的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP闭包定义与使用简单示例

    PHP闭包定义与使用简单示例

    这篇文章主要介绍了PHP闭包定义与使用,结合简单实例形式分析了php闭包的简单定义、使用方法及相关注意事项,需要的朋友可以参考下
    2018-04-04
  • php filter协议使用方法

    php filter协议使用方法

    php://filter是一种设计用来允许过滤器程序在打开时成为流的封装协议。这对于单独具有完整功能的文件函数非常有用,否则就没有机会在读取内容之前将过滤器应用于流之上
    2022-12-12
  • PHP实现汉字转拼音类库的使用方法

    PHP实现汉字转拼音类库的使用方法

    这篇文章主要为大家介绍了PHP实现汉字转拼音类库使用方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • php返回字符串中所有单词的方法

    php返回字符串中所有单词的方法

    这篇文章主要介绍了php返回字符串中所有单词的方法,实例分析了php字符串正则匹配与数组操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Javascript与PHP验证用户输入URL地址是否正确

    Javascript与PHP验证用户输入URL地址是否正确

    这篇文章主要介绍了Javascript与PHP验证用户输入URL地址是否正确,在进行web应用程序开发时非常实用,需要的朋友可以参考下
    2014-10-10
  • php去掉数组的第一个值的两个函数:array_shift、array_splice

    php去掉数组的第一个值的两个函数:array_shift、array_splice

    php去掉数组的第一个值的两种删除方法:1、使用array_shift()函数删除数组的第一个值,语法“array_shift($arr)”,会返回被删除的元素。2、使用array_splice()函数删除第一个值,语法“array_splice($arr,0,1);”;该函数的第二个和第三个参数可以为负数。
    2022-12-12
  • 学习php设计模式 php实现命令模式(command)

    学习php设计模式 php实现命令模式(command)

    这篇文章主要介绍了php设计模式中的命令模式,使用php实现命令模式,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • php实现复制移动文件的方法

    php实现复制移动文件的方法

    这篇文章主要介绍了php实现复制移动文件的方法,实例分析了php实现针对文件的复制及移动的技巧,需要的朋友可以参考下
    2015-07-07
  • php递归遍历删除文件的方法

    php递归遍历删除文件的方法

    这篇文章主要介绍了php递归遍历删除文件的方法,涉及php遍历文件操作的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04

最新评论