PHP生成json和xml类型接口数据格式
内容摘要
php生成接口通信数据
/**
* 生成接口数据格式
*/
class Response{
/**
* [show 按综合方式输出数据]
* @param [int] $code [状态码]
* @param [string]
/**
* 生成接口数据格式
*/
class Response{
/**
* [show 按综合方式输出数据]
* @param [int] $code [状态码]
* @param [string]
文章正文
php生成接口通信数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | /** * 生成接口数据格式 */ class Response{ /** * [show 按综合方式输出数据] * @param [int] $code [状态码] * @param [string] $message [提示信息] * @param array $data [数据] * @param [string] $type [类型] * @return [string] [返回值] */ public static function show( $code , $message , $data = array (), $type = '' ){ if (! is_numeric ( $code )){ return '' ; } $result = array ( 'code' => $code , 'message' => $message , 'data' => $data ); if ( $type == 'json' ){ return self::json( $code , $message , $data ); } elseif ( $type == 'xml' ){ return self::xml( $code , $message , $data ); } else { //TODO } } /** * [json 按json方式输出数据] * @param [int] $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 ); $result = json_encode( $result ); return $result ; } /** * [xml 按xml格式生成数据] * @param [int] $code [状态码] * @param [string] $message [提示信息] * @param array $data [数据] * @return [string] [返回值] */ public static function xml( $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'?>\n" ; $xml .= "<root>\n" ; $xml .= self::xmlToEncode( $data ); $xml .= "</root>" ; return $xml ; } public static function xmlToEncode( $data ){ $xml = '' ; foreach ( $data as $key => $value ){ if ( is_numeric ( $key )){ $attr = "id='{$key}'" ; $key = "item" ; } $xml .= "<{$key} {$attr}>\n" ; $xml .= is_array ( $value ) ? self::xmlToEncode( $value ) : "{$value}\n" ; $xml .= "</{$key}>\n" ; } return $xml ; } } //测试 $grade = array ( "score" => array (70, 95, 70.0, 60, "70" ), "name" => array ( "Zhang San" , "Li Si" , "Wang Wu" , "Zhao Liu" , "TianQi" )); $response = new Response(); $result = $response :: show(200, 'success' , $grade , 'json' ); print_r( $result ); |
以上所述就是本文的全部内容了,希望大家能够喜欢。
代码注释