PHP生成json和xml类型接口数据格式

前端之家收集整理的这篇文章主要介绍了PHP生成json和xml类型接口数据格式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP生成接口通信数据

$code,'message' => $message,'data' => $data ); if($type == 'json'){ return self::json($code,$data); }elseif($type == 'xml'){ return self::xml($code,$data); }else{ //TODO } } /** * [json 按json方式输出数据] * @param [int] $code [状态码] * @param [string] $message [提示信息] * @param [array] $data [数据] * @return [string] [返回值] */ public static function json($code,$data = array()){ if(!is_numeric($code)){ return ''; } $result = array( 'code' => $code,'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,'data' => $data
    );
    header("Content-Type:text/xml");
    $xml = "<?xml version='1.0' encoding='UTF-8'?>\n";
    $xml .= "\n";
    $xml .= self::xmlToEncode($data);
    $xml .= "
    ";
    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);

以上所述就是本文的全部内容了,希望大家能够喜欢。

猜你在找的PHP相关文章