PHP实现返回JSON和XML的类分享


Posted in PHP onJanuary 28, 2015

代码很简洁,功能也很简单实用,这里就不多废话了,直接奉上代码:

<?php

    class Reponse{

        //private $result = array('code'=null,'message'=null,'data'=>null);

        /**

         * @desc 返回JSON格式

         * @param int $code 

         * @param string $message 

         * @param array  $data

         * return string

         */

        public static function json($code,$message = null,$data = array()){

            if(!is_numeric($code)){

                return false;

            }

            $result = array(

                'code'=>$code,

                'message'=>$message,

                'data'=>$data

            );

            return json_encode($result);

            exit;

        }

        /**

         * @desc 返回xml格式数据

         * @parma int $code 状态码

         * @param string $message 提示

         * @param array $data 数据

         * return string 

         */

         public static function xml($code,$message = '',$data = array()){

            if(!is_numeric($code)){

                return false;

            }

            $result = array(

                'code'=>$code,

                'message'=>$message,

                'data'=>$data

            );

            $xml = '';

            $xml .= "<?xml version='1.0' encoding='UTF-8'?>\n";

            $xml .= "<root>\n";

            $xml .= self::xmlEncode($result);

            $xml .= "</root>";

            header("Content-Type:text/xml");

            echo $xml;

         }

         public static function xmlEncode($result){

            $xml = $attr ='';

            foreach($result as $key=>$val){

                if(is_numeric($key)){

                    $attr = "id='{$key}'";

                    $key = "item{$key}";

                }

                $xml .= "<{$key} {$attr}>";

                $xml .= is_array($val) ? self::xmlEncode($val) : $val;

                $xml .= "</{$key}>\n";

            }

            return $xml;

         }

    }

    $data = array(

        'id'=>1,

        'age'=>20,

        'username'=>'tim',

        'others'=>array(1,2,3),

    );

    Reponse::xml(200,'success',$data);

    Reponse::json(200,'success',$data);

小伙伴们可以直接拿去使用,使用方法在代码的最下方:)

PHP 相关文章推荐
dedecms中显示数字验证码的修改方法
Mar 21 PHP
php MYSQL 数据备份类
Jun 19 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
Jan 16 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
Dec 10 PHP
Zend Framework基本页面布局分析
Mar 19 PHP
PHP正则表达式过滤html标签属性(DEMO)
May 04 PHP
利用PHP命令行模式采集股票趋势信息
Aug 09 PHP
PHP抽象类与接口的区别实例详解
May 09 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
Oct 17 PHP
PHP实现的下载远程图片自定义函数分享
Jan 28 #PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
Jan 28 #PHP
php+mysqli使用预处理技术进行数据库查询的方法
Jan 28 #PHP
php中使用session防止用户非法登录后台的方法
Jan 27 #PHP
php中session与cookie的比较
Jan 27 #PHP
php实现session自定义会话处理器的方法
Jan 27 #PHP
php实现检查文章是否被百度收录
Jan 27 #PHP
You might like
基于PHP读取csv文件内容的详解
2013/06/18 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
vue-quill-editor富文本编辑器简单使用方法
2018/09/21 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
python异常处理try except过程解析
2020/02/03 Python
Python修改DBF文件指定列
2020/12/19 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
房地产销售员的自我评价分享
2013/12/04 职场文书
小区门卫岗位职责
2013/12/31 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
个人投资合作协议书
2014/10/12 职场文书
市级三好学生评语
2014/12/29 职场文书
汉字听写大会观后感
2015/06/12 职场文书
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫