首页 / 网页编程 / PHP / PHP实现返回JSON和XML的类分享
代码很简洁,功能也很简单实用,这里就不多废话了,直接奉上代码:
复制代码 代码如下:
<?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"?>
";
$xml .= "<root>
";
$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}>
";
}
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);
小伙伴们可以直接拿去使用,使用方法在代码的最下方:)