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 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
php 向访客和爬虫显示不同的内容
Nov 09 PHP
php快速url重写更新版[需php 5.30以上]
Apr 25 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
Sep 20 PHP
php变量作用域的深入解析
Jun 03 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
Feb 18 PHP
四个PHP非常实用的功能
Sep 29 PHP
PHP的几个常用加密函数
Feb 03 PHP
PHP如何实现跨域
May 30 PHP
php如何执行非缓冲查询API
Jul 22 PHP
php str_getcsv把字符串解析为数组的实现方法
Apr 05 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
Laravel 5框架学习之表单
2015/04/08 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
jQuery 一个图片切换的插件
2011/10/09 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
图文介绍Vue父组件向子组件传值
2018/02/17 Javascript
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
javascript canvas API内容整理
2020/02/16 Javascript
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
python爬虫可以爬什么
2020/06/16 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
家得宝加拿大家装网上商店:The Home Depot加拿大
2016/08/27 全球购物
总经理岗位职责
2013/11/09 职场文书
应届生保险求职信
2013/11/11 职场文书
小型女装店的创业计划书
2014/01/09 职场文书
英语自我评价范文
2014/01/24 职场文书
张思德观后感
2015/06/09 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
六五普法学习心得体会
2016/01/21 职场文书
开学第一周日记(三篇范文)
2019/08/23 职场文书
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis