这期内容当中小编将会给大家带来有关PHP封装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格式数据:
上述就是小编为大家分享的PHP封装XML和JSON格式数据接口了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。