PHP實(shí)現(xiàn)返回JSON和XML的類(lèi)分享
更新時(shí)間:2015年01月28日 15:54:08 投稿:hebedich
這篇文章主要給大家分享了一個(gè)使用PHP實(shí)現(xiàn)返回JSON和XML的類(lèi),非常實(shí)用,希望大家能夠喜歡
代碼很簡(jiǎn)潔,功能也很簡(jiǎn)單實(shí)用,這里就不多廢話(huà)了,直接奉上代碼:
復(fù)制代碼 代碼如下:
<?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格式數(shù)據(jù)
* @parma int $code 狀態(tài)碼
* @param string $message 提示
* @param array $data 數(shù)據(jù)
* 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+Ajax處理xml與json格式數(shù)據(jù)的方法示例
- PHP以json或xml格式返回請(qǐng)求數(shù)據(jù)的方法
- php實(shí)現(xiàn)xml與json之間的相互轉(zhuǎn)換功能實(shí)例
- PHP生成json和xml類(lèi)型接口數(shù)據(jù)格式
- php json與xml序列化/反序列化
- php 備份數(shù)據(jù)庫(kù)代碼(生成word,excel,json,xml,sql)
- PHP封裝的XML簡(jiǎn)單操作類(lèi)完整實(shí)例
- PHP數(shù)組生成XML格式數(shù)據(jù)的封裝類(lèi)實(shí)例
- php封裝json通信接口詳解及實(shí)例
- PHP封裝返回Ajax字符串和JSON數(shù)組的方法
- PHP封裝XML和JSON格式數(shù)據(jù)接口操作示例
相關(guān)文章
php環(huán)境下利用session防止頁(yè)面重復(fù)刷新的具體實(shí)現(xiàn)
如何防止頁(yè)面重復(fù)刷新,在php環(huán)境下可以利用session來(lái)輕松實(shí)現(xiàn),下面是具體的代碼,需要的朋友可以參考下2014-01-01PHP is_subclass_of函數(shù)的一個(gè)BUG和解決方法
這篇文章主要介紹了PHP is_subclass_of函數(shù)的一個(gè)BUG和解決方法,這個(gè)BUG存在于php5.3.7版本以前,并且針對(duì)interface方面,需要的朋友可以參考下2014-06-06php頁(yè)面函數(shù)設(shè)置超時(shí)限制的方法
這篇文章主要介紹了php頁(yè)面函數(shù)設(shè)置超時(shí)限制的方法,可通過(guò)函數(shù)控制超時(shí)限制,也可通過(guò)修改php配置文件實(shí)現(xiàn)修改超時(shí)限制,需要的朋友可以參考下2014-12-12Godaddy空間Zend Optimizer升級(jí)方法
雖然購(gòu)買(mǎi)了godaddy的空間,期間也遇到很多的問(wèn)題,在慢慢的額摸索中,也有的一些解決的方法。2010-05-05php實(shí)現(xiàn)的順序線(xiàn)性表示例
這篇文章主要介紹了php實(shí)現(xiàn)的順序線(xiàn)性表,結(jié)合實(shí)例形式分析了PHP順序線(xiàn)性表的定義、元素獲取、插入、刪除等相關(guān)操作技巧,需要的朋友可以參考下2019-05-05全面解讀PHP的人氣開(kāi)發(fā)框架Laravel
這篇文章主要介紹了PHP的人氣開(kāi)發(fā)框架Laravel,并對(duì)一些主要的技術(shù)特點(diǎn)進(jìn)行了相關(guān)的舉例,需要的朋友可以參考下2015-10-10