標籤:value encode 狀態 int 狀態代碼 nbsp XML array stat
<?php
class Response{ const JSON =‘json‘;
/* * 按綜合方式輸出通訊資料 * @param integer $code 狀態代碼 * @param string $message 提示資訊 * @param array $data 資料 * @param string $type 資料類型 * return string */ public static function show($code,$message=‘‘,$data=array(),$type=self::JSON){ if (!is_numeric($code)) { return ‘‘; }
$type = isset($_GET[‘format‘]) ? $_GET[‘format‘] : self::JSON;
$result = array( ‘code‘ => $code, ‘message‘ => $message, ‘data‘ => $data );
if($type == ‘json‘){ self::json($code,$message,$data); }elseif ($type == ‘array‘) { //用於調試 var_dump($result); }elseif ($type == ‘xml‘) { self::xmlEncode($code,$message,$data); }else{ // TODO } }
/* * 按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 );
echo json_encode($result); exit; }
/* * 按XML方式輸出通訊資料 * @param integer $code 狀態代碼 * @param string $message 提示資訊 * @param array $data 資料 * return string */ public static function xmlEncode($code,$message=‘‘,$data=array()){ if(!is_numeric($code)){ return ‘‘; }
$result = array( ‘code‘ => $code, ‘message‘ => $message, ‘data‘ => $data, );
//指定頁面顯示類型 header("Content-Type:text/xml");
$xml = "<?xml version=‘1.0‘ encoding=‘UTF-8‘ ?>"; $xml .= "<root>\n";
//拼接xml資料格式 $xml .= self::xmlToEncode($result);
$xml .= "</root>"; echo $xml; exit; }
public static function xmlToEncode($data){ $xml = ""; $attr = ""; foreach ($data as $key => $value) { if(is_numeric($key)){ $attr = " id=‘{$key}‘"; $key = "item"; } $xml .= "<{$key}{$attr}>"; $xml .= is_array($value) ? self::xmlToEncode($value) : $value; $xml .= "</{$key}>\n"; } return $xml; }}
?>
來自為知筆記(Wiz)
xml和json格式輸出